Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
tutoriel:creer_et_administrer_un_ppa_sur_launchpad [Le 17/03/2016, 23:03] – [Pré-requis] 90.36.140.113 | tutoriel:creer_et_administrer_un_ppa_sur_launchpad [Le 14/08/2018, 23:24] (Version actuelle) – [Création du paquet source] L'Africain | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{tag> | ||
+ | |||
+ | ---- | ||
+ | |||
+ | |||
+ | ====== Créer et administrer un PPA sur Launchpad ====== | ||
+ | |||
+ | Ce tutoriel indique comment créer et administrer un PPA sur Launchpad dans le but de créer et fournir des paquets de votre logiciel à la communauté. Dans ce tutoriel, nous utiliserons le programme [[: | ||
+ | |||
+ | Il est recommandé d' | ||
+ | |||
+ | ===== Pré-requis ===== | ||
+ | |||
+ | * Disposer des [[: | ||
+ | * Disposer d'une connexion à Internet configurée et activée. | ||
+ | * [[: | ||
+ | |||
+ | |||
+ | ===== Création d'un compte Launchpad ===== | ||
+ | |||
+ | La première étape consiste avant tout à vous créer un compte sur [[https:// | ||
+ | |||
+ | ==== Signature du code de conduite ==== | ||
+ | |||
+ | Lorsque votre compte est créé, vous devez [[: | ||
+ | |||
+ | La procédure pour créer une clé PGP se trouve ici : [[https:// | ||
+ | |||
+ | Une fois que vous avez renseigné l' | ||
+ | Suivez les étapes pour signer le code de bonne conduite. | ||
+ | |||
+ | Là, le plus pénible est fini. ;-) | ||
+ | |||
+ | ===== Création du PPA ===== | ||
+ | |||
+ | Une fois le code de conduite signé, vous pouvez créer un PPA depuis votre compte. | ||
+ | |||
+ | Il y a plusieurs types de PPA que vous pouvez créer : | ||
+ | * **Personnel** : Vous pouvez créer un PPA dont vous serez le seul gestionnaire. | ||
+ | * **Équipe (team)** : Vous pouvez créer une équipe et créer un PPA pour cette équipe. De cette façon, vous pourrez être plusieurs à l' | ||
+ | * **Projet** : Vous pouvez aussi créer un projet, et utiliser aussi le dépôt [[: | ||
+ | |||
+ | ===== Création du paquet source ===== | ||
+ | |||
+ | Vous aller devoir préparer les sources du paquet à envoyer à Launchpad. | ||
+ | |||
+ | La procédure est celle de la création d'un paquet classique : [[tutoriel: | ||
+ | |||
+ | En résumé : | ||
+ | |||
+ | Commencez par récupérer les sources de FreetuxTV, et les extraire. Dans un [[: | ||
+ | |||
+ | < | ||
+ | wget http:// | ||
+ | </ | ||
+ | |||
+ | Renommez l' | ||
+ | |||
+ | < | ||
+ | mv freetuxtv-0.5.0.tar.gz freetuxtv_0.5.0.orig.tar.gz | ||
+ | </ | ||
+ | |||
+ | Extraire l' | ||
+ | |||
+ | < | ||
+ | tar xvzf freetuxtv_0.5.0.orig.tar.gz | ||
+ | cd freetuxtv-0.5.0 | ||
+ | </ | ||
+ | |||
+ | Créer le squelette du paquet source : | ||
+ | |||
+ | < | ||
+ | dh_make -e votreaddresse@email.tld -s -y | ||
+ | </ | ||
+ | |||
+ | [[: | ||
+ | |||
+ | * **changelog** : Mettez à jour les informations du logiciel, la version du paquet et la distribution, | ||
+ | freetuxtv (0.5.0-0ubuntu1) lucid; urgency=low | ||
+ | |||
+ | * Initial release | ||
+ | |||
+ | -- Prénom NOM < | ||
+ | </ | ||
+ | |||
+ | |||
+ | <note important> | ||
+ | |||
+ | < | ||
+ | * upstream_version : la version du logiciel (ici 0.5.0) | ||
+ | * debian_version : la version du paquet chez debian (le paquet n' | ||
+ | * ubuntu_version : la version du paquet chez ubuntu (on fait la première version de notre paquet donc 1) | ||
+ | </ | ||
+ | |||
+ | |||
+ | * **copyright** : Mettez à jour les noms d' | ||
+ | This package was debianized by Prénom NOM < | ||
+ | Tue, 20 Jul 2010 23:20:08 +0200. | ||
+ | |||
+ | It was downloaded from http:// | ||
+ | |||
+ | Upstream Author(s): | ||
+ | |||
+ | Prénom NOM < | ||
+ | |||
+ | Copyright: | ||
+ | |||
+ | Copyright (C) 2010 FreetuxTV | ||
+ | | ||
+ | |||
+ | License: | ||
+ | |||
+ | GNU General Public License v3 | ||
+ | |||
+ | The Debian packaging is (C) 2010, Prénom NOM < | ||
+ | is licensed under the GPL, see `/ | ||
+ | |||
+ | # Please also look if there are files or directories which have a | ||
+ | # different copyright/ | ||
+ | </ | ||
+ | |||
+ | * **control** : Mettez à jour les dépendances requises pour compiler votre paquet et les informations sur le programme. Pour FreetuxTV on a :< | ||
+ | Source: freetuxtv | ||
+ | Section: video | ||
+ | Priority: extra | ||
+ | Maintainer: Prénom NOM < | ||
+ | Build-Depends: | ||
+ | Standards-Version: | ||
+ | Homepage: http:// | ||
+ | |||
+ | Package: freetuxtv | ||
+ | Architecture: | ||
+ | Depends: ${shlibs: | ||
+ | Description: | ||
+ | Watch TV on your PC from free WebTV channels or with your ISP television service. | ||
+ | </ | ||
+ | |||
+ | La listes des dépendances est souvent indiquée dans le README des sources, elles doivent également être installées sur votre système pour ne pas avoir d' | ||
+ | Une fois que tout est OK, on construit le paquet source afin de le télécharger sur Launchpad : | ||
+ | |||
+ | < | ||
+ | debuild -S -sa | ||
+ | </ | ||
+ | |||
+ | ===== Envoi des sources pour la construction d'un paquet ==== | ||
+ | |||
+ | Une fois le paquet source créé, il ne nous reste plus qu'à le télécharger sur le serveur de Launchpad. A la fin de l' | ||
+ | |||
+ | Il existe plusieurs méthodes : | ||
+ | |||
+ | ==== Envoi par FTP ==== | ||
+ | |||
+ | Créez un fichier **~/ | ||
+ | |||
+ | < | ||
+ | [ppa_freetuxtv] | ||
+ | fqdn = ppa.launchpad.net | ||
+ | method = ftp | ||
+ | incoming = ~freetuxtv/ | ||
+ | login = anonymous | ||
+ | allow_unsigned_uploads = 0 | ||
+ | </ | ||
+ | |||
+ | **incoming** représente la racine du chemin d' | ||
+ | |||
+ | Puis pour envoyer le paquet, il faut utiliser la commande **dput**, sur le fichier changelog. | ||
+ | |||
+ | < | ||
+ | |||
+ | Le deuxième paramètre correspond au nom de la configuration dans le **~/ | ||
+ | |||
+ | ==== Envoi direct avec dput ==== | ||
+ | |||
+ | Il suffit d’exécuter la commande suivante (ne fonctionne que sur les distributions récentes) : | ||
+ | |||
+ | < | ||
+ | dput ppa: | ||
+ | </ | ||
+ | |||
+ | ===== Mise à jour d'un paquet ===== | ||
+ | |||
+ | Après avoir réussi l' | ||
+ | |||
+ | Admettons que la version 0.5.1 de FreetuxTV sorte. | ||
+ | |||
+ | Tout d’abord, [[: | ||
+ | |||
+ | < | ||
+ | deb http:// | ||
+ | deb-src http:// | ||
+ | </ | ||
+ | |||
+ | Ensuite, récupérer les sources du paquet de la version courante dans les dépôts (0.5.1) : | ||
+ | |||
+ | < | ||
+ | apt-get source freetuxtv | ||
+ | </ | ||
+ | |||
+ | Ceci permet de récupérer la dernière version du changelog et du fichier control. | ||
+ | |||
+ | Puis téléchargez les sources de la nouvelle version de FreetuxTV, et préparer-la comme précédemment : | ||
+ | |||
+ | < | ||
+ | wget http:// | ||
+ | mv freetuxtv-0.5.1.tar.gz freetuxtv_0.5.1.orig.tar.gz | ||
+ | tar xvzf freetuxtv_0.5.1.orig.tar.gz | ||
+ | cd freetuxtv-0.5.1 | ||
+ | </ | ||
+ | |||
+ | La différence est qu'au lieu de régénérer le squelette, on va se baser sur celui de la version précédente : | ||
+ | |||
+ | < | ||
+ | cp -r ../ | ||
+ | </ | ||
+ | |||
+ | Et on met à jour le numéro de version : | ||
+ | |||
+ | < | ||
+ | dch -v 0.5.1-0ubuntu1 | ||
+ | </ | ||
+ | |||
+ | Le changelog ressemble alors à ça : | ||
+ | |||
+ | < | ||
+ | freetuxtv (0.5.1-0ubuntu1) lucid; urgency=low | ||
+ | |||
+ | * Updating to upstream version 0.5.1 | ||
+ | |||
+ | -- Prénom NOM < | ||
+ | |||
+ | freetuxtv (0.5.1-0ubuntu1) lucid; urgency=low | ||
+ | |||
+ | * Initial release | ||
+ | |||
+ | -- Prenom NOM < | ||
+ | </ | ||
+ | |||
+ | Si les dépendances ont changé, n' | ||
+ | |||
+ | Enfin on finit la construction du paquet : | ||
+ | |||
+ | < | ||
+ | debuild -S -sa | ||
+ | </ | ||
+ | |||
+ | Il ne reste plus qu'à le télécharger sur le serveur de Launchpad. | ||
+ | |||
+ | ===== Ré-intégrer un paquet dont la construction a échoué ===== | ||
+ | |||
+ | Imaginons maintenant que la construction de votre paquet ait échoué, par exemple à cause d'une dépendance non satisfaite. | ||
+ | |||
+ | Il suffit de modifier les sources du paquet et de mettre à jour la version. | ||
+ | |||
+ | Lancez la commande suivante pour modifier le changelog : | ||
+ | |||
+ | < | ||
+ | dch -i | ||
+ | </ | ||
+ | |||
+ | La commande met à jour le numéro de version ce qui donne quelque chose comme ça : | ||
+ | |||
+ | < | ||
+ | freetuxtv (0.5.1-0ubuntu2) lucid; urgency=low | ||
+ | |||
+ | * Updating to upstream version 0.5.1 | ||
+ | |||
+ | -- Prénom NOM < | ||
+ | |||
+ | freetuxtv (0.5.1-0ubuntu1) lucid; urgency=low | ||
+ | |||
+ | * Updating to upstream version 0.5.1 | ||
+ | |||
+ | -- Prénom NOM < | ||
+ | |||
+ | freetuxtv (0.5.0-0ubuntu1) lucid; urgency=low | ||
+ | |||
+ | * Initial release | ||
+ | |||
+ | -- Prénom NOM < | ||
+ | </ | ||
+ | |||
+ | Notez qu'ici c'est le ubuntu_version qui a été incrémenté, | ||
+ | |||
+ | Ensuite, corrigez alors vos fichiers posant problème comme le fichier **control**. | ||
+ | |||
+ | Puis une fois que tout est OK, reconstruisez le paquet source pour le télécharger : | ||
+ | |||
+ | < | ||
+ | debuild -S -sa | ||
+ | </ | ||
+ | <note tip>A noter que si votre fichier source // | ||
+ | ===== Conclusion ===== | ||
+ | |||
+ | Voila, vous savez maintenant administrer un PPA et créer des paquets sur celui-ci ! | ||
+ | |||
+ | ===== Problèmes connus===== | ||
+ | |||
+ | === Erreur lors de la signature === | ||
+ | Ce qui s' | ||
+ | Now signing changes and any dsc files... | ||
+ | | ||
+ | gpg: « Prénom N. < | ||
+ | gpg: / | ||
+ | debsign: gpg error occurred! | ||
+ | debuild: fatal error at line 1269: | ||
+ | running debsign failed | ||
+ | Solution:\\ | ||
+ | debuild -S -sa -k< | ||
+ | En remplaçant **< | ||
+ | ===== Voir aussi ===== | ||
+ | |||
+ | * **(en)** [[https:// | ||
+ | * **(fr)** [[https:// | ||
+ | |||
+ | ---- | ||
+ | // | ||