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:// | ||
| + | |||
| + | ---- | ||
| + | // | ||
