Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
tutoriel:creer_et_administrer_un_ppa_sur_launchpad [Le 22/07/2010, 22:40]
SaiyanRiku
tutoriel:creer_et_administrer_un_ppa_sur_launchpad [Le 14/08/2018, 23:24] (Version actuelle)
L'Africain [Création du paquet source]
Ligne 3: Ligne 3:
 ---- ----
  
-==== Pré-requis ==== 
  
-Pour pouvoir suivre cette documentation ​un certain nombre de pré-requis sont nécessaires :+====== Créer et administrer ​un PPA sur Launchpad ======
  
-  * Avoir installer les paquets ​suivant : [[apt://​debhelper,​cdbs,​lintian,​build-essential,​fakeroot,​devscripts,​pbuilder,​dh-make,​debootstrap|debhelper,​cdbs,​lintian,​build-essential,​fakeroot,​devscripts,​pbuilder,​dh-make,​debootstrap]].+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 ​[[:freetuxtv|FreetuxTV]] comme exemple.
  
-====== Créer et administrer un PPA sur Launchpad ======+Il est recommandé d'​avoir lu la page de présentation ​sur les [[:ppa|PPA (Personal Package Archives)]].
  
-<note tip>Ce tutoriel indique comment créer et administrer un PPA.</​note>​+===== Pré-requis =====
  
-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 tutorial, nous utiliserons le programme ​[[:freetuxtv|FreetuxTV]] comme exemple.+  * Disposer ​des [[:​sudo|droits d'​administration]]. 
 +  * Disposer d'une connexion ​à Internet configurée et activée. 
 +  * [[:tutoriel:​comment_installer_un_paquet#​paquet_present_dans_les_depots|Avoir installé les paquets]] suivants : **[[apt>​debhelper,​cdbs,​lintian,​build-essential,​fakeroot,​devscripts,​pbuilder,​dh-make,​debootstrap|debhelper cdbs lintian build-essential fakeroot devscripts pbuilder dh-make debootstrap]]**.
  
-Il est recommandé d'​avoir lu la page de présentation sur les [[:​ppa|Personal Package Archives]]. 
  
 ===== Création d'un compte Launchpad ===== ===== Création d'un compte Launchpad =====
  
-La première étape ​constiste ​avant tout à vous créer un compte sur [[https://​launchpad.net/​|Launchpad]].+La première étape ​consiste ​avant tout à vous créer un compte sur [[https://​launchpad.net/​|Launchpad]].
  
 ==== Signature du code de conduite ==== ==== Signature du code de conduite ====
  
-Lorsque votre compte est crée, vous devez signé ​le code de conduite de Lanchpad. Ceci consite ​en la récupération d'un certificat que vous devez signé ​avec une clé privé. Puis vous devez uploader, ​le code de conduite signé sur le serveur de Launchpad.+Lorsque votre compte est créé, vous devez [[:​signer_le_code_de_conduite|signer ​le code de conduite de Lanchpad]]. Ceci consiste ​en la récupération d'un certificat que vous devez signer ​avec une clé privée. Puis vous devez téléverser ​le code de conduite signé sur le serveur de Launchpad.
  
-La procédure pour créer une clé PGP se trouve ici : https://​help.launchpad.net/​YourAccount/​ImportingYourPGPKey+La procédure pour créer une clé PGP se trouve ici : [[https://​help.launchpad.net/​YourAccount/​ImportingYourPGPKey|ImportingYourPGPKey]] (anglais)
  
 Une fois que vous avez renseigné l'​empreinte de votre clé, retournez sur les paramètres de votre compte Launchpad. Une fois que vous avez renseigné l'​empreinte de votre clé, retournez sur les paramètres de votre compte Launchpad.
-Suivez les étapes pour signerle code de bonne conduite.+Suivez les étapes pour signer le code de bonne conduite.
  
-Là, le plus chiant ​est fini.+Là, le plus pénible ​est fini. ;-)
  
 ===== Création du PPA ===== ===== Création du PPA =====
Ligne 36: Ligne 36:
 Une fois le code de conduite signé, vous pouvez créer un PPA depuis votre compte. Une fois le code de conduite signé, vous pouvez créer un PPA depuis votre compte.
  
-Il y a plusieurs ​type de PPAque vous pouvez créer : +Il y a plusieurs ​types de PPA que vous pouvez créer : 
-  * Personel ​: Vous pouvez créer un PPA dont vous serez le seul gestionnaire. +  * **Personnel** ​: Vous pouvez créer un PPA dont vous serez le seul gestionnaire. 
-  * Equipe ​(team) : Vous pouvez créer une équipe et créer un PPA pour cette équipe. De cette façon, vous pourrez être plusieurs à l'​administrer. +  * **É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'​administrer. 
-  * Projet : Vous pouvez aussi créer un projet, et utiliser aussi le dépot ​Bazaar et le bugs tracker pour gérer votre projet au complet, comme avec Google Code ou SourceForge. Vous pourrez ainsi gérer un PPA avec votre équipe.+  ​* **Projet** : Vous pouvez aussi créer un projet, et utiliser aussi le dépôt [[:bzr|Bazaar]] et le système de suivi de bogues (//​bug ​tracker//) pour gérer votre projet au complet, comme avec Google Code ou SourceForge. Vous pourrez ainsi gérer un PPA avec votre équipe.
  
 ===== Création du paquet source ===== ===== Création du paquet source =====
  
-Vous aller devoir préparer les sources du paquets ​à envoyé ​à Launchpad.+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:​creer_un_paquet#​creation_du_paquet_source|Création d'un paquet source]]. La procédure est celle de la création d'un paquet classique : [[tutoriel:​creer_un_paquet#​creation_du_paquet_source|Création d'un paquet source]].
Ligne 49: Ligne 49:
 En résumé : En résumé :
  
-Commencez par récupérer les sources de FreetuxTV, et les extraire : +Commencez par récupérer les sources de FreetuxTV, et les extraire. Dans un [[:​terminal]] ​
  
 <​code>​ <​code>​
Ligne 61: Ligne 61:
 </​code>​ </​code>​
  
-Extraire l'​archive et aller dans le répertorie crée :+Extraire l'​archive et aller dans le répertoire créé ​:
  
 <​code>​ <​code>​
Ligne 68: Ligne 68:
 </​code>​ </​code>​
  
-Créer le squelette du paquet ​sources ​:+Créer le squelette du paquet ​source ​:
  
 <​code>​ <​code>​
-dh_make -e votreaddresse@email.tld+dh_make -e votreaddresse@email.tld ​-s -y
 </​code>​ </​code>​
  
-Editer ​les fichiers ​suivant ​dans le dossier **debian** qui a été crée :+[[:​tutoriel:​comment_modifier_un_fichier|Éditer ​les fichiers]] suivants ​dans le dossier **debian** qui a été créé ​:
  
-  * **changelog** : Mettez à jour les informations du logiciel, la version du paquets ​et la distribution,​ le détail de la modification (par rapport au paquet précédent) et les informations de l'empacteur ​(vous) : +  * **changelog** : Mettez à jour les informations du logiciel, la version du paquet ​et la distribution,​ le détail de la modification (par rapport au paquet précédent) et les informations de l'empaqueteur ​(vous) :<file
- +freetuxtv (0.5.0-0ubuntu1) ​lucid; urgency=low
-<code+
-freetuxtv (0.5.0-0ubuntu1) ​hardy; urgency=low+
  
   * Initial release   * Initial release
  
- ​-- ​Prenom ​NOM <​votreaddresse@email.tld> ​ Tue, 20 Jul 2010 23:20:08 +0200 + ​-- ​Prénom ​NOM <​votreaddresse@email.tld> ​ Tue, 20 Jul 2010 23:20:08 +0200 
-</code>+</file>
  
  
-<note important>​ +<note important>​Le n° de version à mettre dans le changelog est composé suivant cette norme : 
-Le n° de version à mettre dans le changelog est composé suivant cette norme :+
 <​upstream_version>​-<​debian_version>​ubuntu<​ubuntu_version>​ <​upstream_version>​-<​debian_version>​ubuntu<​ubuntu_version>​
   * upstream_version : la version du logiciel (ici 0.5.0)   * upstream_version : la version du logiciel (ici 0.5.0)
   * debian_version : la version du paquet chez debian (le paquet n'​existe pas chez debian donc 0)   * debian_version : la version du paquet chez debian (le paquet n'​existe pas chez debian donc 0)
-  * ubuntu_version : la version du paquet chez ubuntu (on fait la première version de notre paquet donc 0)+  * ubuntu_version : la version du paquet chez ubuntu (on fait la première version de notre paquet donc 1)
 </​note>​ </​note>​
  
  
-  * **copyright** : Mettez à jour les noms d'​auteurs et le type de licence : +  * **copyright** : Mettez à jour les noms d'​auteurs et le type de licence :<file>
- +
-<code>+
 This package was debianized by Prénom NOM <​votreaddresse@email.tld>​ on This package was debianized by Prénom NOM <​votreaddresse@email.tld>​ on
 Tue, 20 Jul 2010 23:20:08 +0200. Tue, 20 Jul 2010 23:20:08 +0200.
Ligne 122: Ligne 118:
 # Please also look if there are files or directories which have a # Please also look if there are files or directories which have a
 # different copyright/​license attached and list them here. # different copyright/​license attached and list them here.
-</code>+</file>
  
-  * **control** : Mettez à jour les dépendances requises pour compiler votre paquet et les informations sur le programme. Pour FreetuxTV on a : +  * **control** : Mettez à jour les dépendances requises pour compiler votre paquet et les informations sur le programme. Pour FreetuxTV on a :<file>
- +
-<code>+
 Source: freetuxtv Source: freetuxtv
 Section: video Section: video
Ligne 140: Ligne 134:
 Description:​ Internet television channels player Description:​ Internet television channels player
  Watch TV on your PC from free WebTV channels or with your ISP television service.  Watch TV on your PC from free WebTV channels or with your ISP television service.
-</code>+</file>
  
-Une fois que tout est OK, on contruit ​le paquet source afin de l'​uploader ​:+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'​erreur durant l'​utilisation de ''​debuild''​.  
 +Une fois que tout est OK, on construit ​le paquet source afin de le télécharger sur Launchpad ​:
  
 <​code>​ <​code>​
Ligne 150: Ligne 145:
 ===== Envoi des sources pour la construction d'un paquet ==== ===== Envoi des sources pour la construction d'un paquet ====
  
-Une fois le paquet source ​crée, il ne nous reste plus à l'uploader ​sur le serveur de Launchpad. A la fin de l'​envoi vous recevrez un mail (à celle indiquer ​dans le changelog) pour vous indiquez ​si la création du paquet est accepté ​ou non.+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'​envoi vous recevrez un courriel ​(à l'​adresse indiquée ​dans le changelog) pour vous indiquer ​si la création du paquet est acceptée ​ou non.
  
 Il existe plusieurs méthodes : Il existe plusieurs méthodes :
Ligne 156: Ligne 151:
 ==== Envoi par FTP ====  ==== Envoi par FTP ==== 
  
-Créer ​un fichier **~/​.dput.cf**,​ avec comme contenu :+Créez ​un fichier **~/​.dput.cf**,​ avec comme contenu :
  
-<code>+<file>
 [ppa_freetuxtv] [ppa_freetuxtv]
 fqdn = ppa.launchpad.net fqdn = ppa.launchpad.net
Ligne 165: Ligne 160:
 login = anonymous login = anonymous
 allow_unsigned_uploads = 0 allow_unsigned_uploads = 0
-<code>+</file>
  
-**incoming** représente la racine du chemin d'​accès à votre ppa sur le serveur de launchpad (pour FreetuxTV, le chemin est http://​ppa.launchpad.net/​freetuxtv/​freetuxtv/​ubuntu/​)+**incoming** représente la racine du chemin d'​accès à votre PPA sur le serveur de launchpad (pour FreetuxTV, le chemin est http://​ppa.launchpad.net/​freetuxtv/​freetuxtv/​ubuntu/​)
  
-Puis pour envoyer le paquet, il faut utiliser la commande dput, sur le fichier changelog.+Puis pour envoyer le paquet, il faut utiliser la commande ​**dput**, sur le fichier changelog.
  
 <​code>​dput ppa_freetuxtv freetuxtv_0.5.0-0ubuntu1_source.changes</​code>​ <​code>​dput ppa_freetuxtv freetuxtv_0.5.0-0ubuntu1_source.changes</​code>​
Ligne 177: Ligne 172:
 ==== Envoi direct avec dput ==== ==== Envoi direct avec dput ====
  
-Il suffit d’exécuter la commande suivante (ne fonctionne que sur les distribution récente) :+Il suffit d’exécuter la commande suivante (ne fonctionne que sur les distributions récentes) :
  
 <​code>​ <​code>​
Ligne 185: Ligne 180:
 ===== Mise à jour d'un paquet ===== ===== Mise à jour d'un paquet =====
  
-Après avoir réussi l'​intégration du premier paquet, vous avez aussi la possibilité de facilement ​de mettre à jour la version d'un logiciel.+Après avoir réussi l'​intégration du premier paquet, vous avez aussi la possibilité de facilement mettre à jour la version d'un logiciel.
  
 Admettons que la version 0.5.1 de FreetuxTV sorte. Admettons que la version 0.5.1 de FreetuxTV sorte.
  
-Tout d’abord, ​configurez le dépôt de votre PPA sur votre machine pour l'​utiliser avec Synaptic.+Tout d’abord, ​[[:​ppa|ajoutez votre dépôt ​PPA]] à vos sources ​de logiciels.
  
 <​code>​ <​code>​
Ligne 196: Ligne 191:
 </​code>​ </​code>​
  
-Ensuite, récupérer les sources du paquets ​de la version courante dans les dépôts (0.5.1) :+Ensuite, récupérer les sources du paquet ​de la version courante dans les dépôts (0.5.1) :
  
 <​code>​ <​code>​
Ligne 204: Ligne 199:
 Ceci permet de récupérer la dernière version du changelog et du fichier control. Ceci permet de récupérer la dernière version du changelog et du fichier control.
  
-Puis les sources de la nouvelle version de FreetuxTV et preparer ​la comme la premier version ​:+Puis téléchargez ​les sources de la nouvelle version de FreetuxTVet préparer-la comme précédemment ​:
  
 <​code>​ <​code>​
Ligne 213: Ligne 208:
 </​code>​ </​code>​
  
-La différence est que au lieu de régénérer le squelette on va se baser sur celui de de la version précédente :+La différence est qu'au lieu de régénérer le squeletteon va se baser sur celui de la version précédente :
  
 <​code>​ <​code>​
Ligne 225: Ligne 220:
 </​code>​ </​code>​
  
-Le change log resemble ​alors à ça :+Le changelog ressemble ​alors à ça :
  
-<code+<file
-freetuxtv (0.5.1-0ubuntu1) ​hardy; urgency=low+freetuxtv (0.5.1-0ubuntu1) ​lucid; urgency=low
  
   * Updating to upstream version 0.5.1   * Updating to upstream version 0.5.1
  
- ​-- ​Prenom ​NOM <​votreaddresse@email.tld> ​ Thu, 22 Jul 2010 22:30:20 +0200+ ​-- ​Prénom ​NOM <​votreaddresse@email.tld> ​ Thu, 22 Jul 2010 22:30:20 +0200
  
-freetuxtv (0.5.1-0ubuntu1) ​hardy; urgency=low+freetuxtv (0.5.1-0ubuntu1) ​lucid; urgency=low
  
   * Initial release   * Initial release
  
  -- Prenom NOM <​votreaddresse@email.tld> ​ Tue, 20 Jul 2010 23:20:08 +0200  -- Prenom NOM <​votreaddresse@email.tld> ​ Tue, 20 Jul 2010 23:20:08 +0200
-</code>+</file>
  
-Si les dépendances ont changé, n'oublier ​pas de mettre à jour le fichier **control**.+Si les dépendances ont changé, n'oubliez ​pas de mettre à jour le fichier **control**.
  
-Enfin on fini la construction du paquet :+Enfin on finit la construction du paquet :
  
 <​code>​ <​code>​
Ligne 249: Ligne 244:
 </​code>​ </​code>​
  
-Il ne reste plus qu'a l'​uploader.+Il ne reste plus qu'à le télécharger sur le serveur de Launchpad.
  
 ===== Ré-intégrer un paquet dont la construction a échoué ===== ===== 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 :
 +
 +<​code>​
 +dch -i
 +</​code>​
 +
 +La commande met à jour le numéro de version ce qui donne quelque chose comme ça :
 +
 +<​file>​
 +freetuxtv (0.5.1-0ubuntu2) lucid; urgency=low
 +
 +  * Updating to upstream version 0.5.1
 +
 + -- Prénom NOM <​votreaddresse@email.tld> ​ Thu, 22 Jul 2010 22:30:20 +0200
 +
 +freetuxtv (0.5.1-0ubuntu1) lucid; urgency=low
 +
 +  * Updating to upstream version 0.5.1
 +
 + -- Prénom NOM <​votreaddresse@email.tld> ​ Thu, 22 Jul 2010 22:30:20 +0200
 +
 +freetuxtv (0.5.0-0ubuntu1) lucid; urgency=low
 +
 +  * Initial release
 +
 + -- Prénom NOM <​votreaddresse@email.tld> ​ Tue, 20 Jul 2010 23:20:08 +0200
 +</​file>​
 +
 +Notez qu'ici c'est le ubuntu_version qui a été incrémenté,​ pour indiquer qu'on a réalisé une nouvelle version du paquet pour Ubuntu.
 +
 +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 :
 +
 +<​code>​
 +debuild -S -sa
 +</​code>​
 +<note tip>A noter que si votre fichier source //​freetuxtv_0.5.0.orig.tar.gz//​ est volumineux. Enlevez le **-sa** pour ne pas renvoyer le fichier que le serveur a déjà lors de l'up avec //dput//. FIXME //Pas clair...//</​note>​
 ===== Conclusion ===== ===== Conclusion =====
  
-Voila, vous savez maintenant administrer un PPA !+Voila, vous savez maintenant administrer un PPA et créer des paquets sur celui-ci ​!
  
 ===== Problèmes connus===== ===== Problèmes connus=====
  
-Aucun+=== Erreur lors de la signature === 
 +Ce qui s'​affiche dans votre terminal après un **debuild -S -sa** 
 +  Now signing changes and any dsc files..
 +   signfile paquet_1.0.0-0ubuntu1ppa~precise1.dsc Prénom N. <​em@il>​ 
 +  gpg: « Prénom N. <​em@il>​ » a été ignoré: la clé secrète n'est pas disponible 
 +  gpg: /​tmp/​debsign.IDpnTP7t/​paquet_1.0.0-0ubuntu1ppa~precise1.dsc:​ clearsign failed: la clé secrète n'est pas disponible 
 +  debsign: gpg error occurred! ​ Aborting.... 
 +  debuild: fatal error at line 1269: 
 +  running debsign failed 
 +Solution:​\\ 
 +  debuild -S -sa -k<​12345678>​ 
 +En remplaçant **<​12345678>​** par votre propre clé. La seconde partie de //​ABCED/​12345678//​
 ===== Voir aussi ===== ===== Voir aussi =====
  
   * **(en)** [[https://​help.launchpad.net/​YourAccount/​ImportingYourPGPKey|Importer sa clé]]   * **(en)** [[https://​help.launchpad.net/​YourAccount/​ImportingYourPGPKey|Importer sa clé]]
 +  * **(fr)** [[https://​openclassrooms.com/​courses/​creer-un-depot-launchpad|Tuto complet]]
  
 ---- ----
 //​Contributeurs principaux : [[:​utilisateurs:​SaiyanRiku]].//​ //​Contributeurs principaux : [[:​utilisateurs:​SaiyanRiku]].//​
  
  • tutoriel/creer_et_administrer_un_ppa_sur_launchpad.1279831200.txt.gz
  • Dernière modification: Le 18/04/2011, 14:51
  • (modification externe)