{{tag>paquet programmation tutoriel}}
----
====== Comment demander l'inclusion d'un nouveau paquet dans Ubuntu ? ======
Ce tutoriel va décrire la démarche pour inclure un nouveau logiciel (paquet) dans les dépôts officiels d'Ubuntu.
On va utiliser [[:Launchpad]], le portail de développement Ubuntu développé par Canonical.
Le principe est simple : on va rapporter un bug taggué //needs-packaging//((traduction: "a besoin d'être mis en paquet")), qui n'est pas un « vrai bug » au sens propre, mais qui peut être décrit de la manière suivante :\\
//« L'installation de ce logiciel n'est pas disponible de la manière la plus simple existante (les dépôts) et demande une étape non triviale pour l'utilisateur lambda (la compilation), c'est donc un « bug » qu'il faut résoudre (en incluant ce paquet aux dépôts) ».//\\
Il s'agit alors d'une demande d'inclusion d'un paquet.
Cette procédure n'est pas faite pour demander une mise à jour d'un paquet. Pour la procédure à suivre dans ce cas, lire le [[:tutoriel:demande_mise_a_jour_paquet|tutoriel pour demander la mise à jour d'un paquet]].
===== Pré-requis =====
Afin qu'un logiciel soit inclus dans Ubuntu, il doit être conforme à la [[http://www.ubuntu.com/project/about-ubuntu/licensing|politique de licence Ubuntu]] (FIXME: à traduire)
Vérifiez que l'inclusion du paquet n'a pas déjà été demandé, en faisant une [[https://launchpad.net/ubuntu/+bugs?field.tag=needs-packaging|recherche sur Launchpad]].
Les paquets récemment ajoutés à Debian unstable seront automatiquement synchronisés dans Ubuntu avant la Debian Import Freeze (DIF). Après la DIF, il faudra soumettre un bug en remplissant le champ résumé avec "Please sync from debian " ((traduction: "merci de synchroniser le depuis debian ")), où est le nom du paquet. Le DIF pour Lucid est le 11 février 2010.
===== Demande d'inclusion d'un nouveau paquet =====
==== Résumé ====
[[https://bugs.launchpad.net/ubuntu/+filebug?no-redirect&field.tag=needs-packaging|Rapporter un bug]] concernant **Ubuntu**, le tagguer //needs-packaging//, et attendre qu'un [[:tutoriel:comment_participer_developpement_ubuntu#ubuntu_developers_motu|MOTU]] s'en occupe.
==== Pas-à-pas ====
* [[https://bugs.launchpad.net/ubuntu/+filebug?no-redirect&field.tag=needs-packaging|Rapporter un bug]] dans [[:Launchpad]].
* Dans **Summary** mettre un résumé du bug: mettre ici le nom du logiciel. A noter que le lien ci-dessous va chercher si un bug a déjà été soumis avec le nom que vous entrez, dans les bug avec le tag //needs-packaging//.
* Si le paquet n'a pas été demandé, cliquer sur le bouton "No, I need to report a new bug" en bas de page, pour remplir le bug:
* **Summary**: bien mettre "[needs-packaging] "
* **Further information**: décrire le logiciel en quelques mots, donner l'adresse à laquelle on pourra trouver les sources et donner la licence du logiciel.
* Cliquer sur le bouton "Submit Bug Report"
* Ajouter le tag //needs-packaging//
===== Créer le paquet vous même =====
Vous pouvez suivre le tutoriel pour [[tutoriel:creer_un_paquet|créer un paquet]].
Les paquets qui ne sont pas encore dans Ubuntu passent par une revue de code spéciale avant d'être ajouté aux dépôts et d'obtenir l'aval définitif des administrateurs d'archive. Plus d'informations sur cette revue, y compris les critères de sélection peuvent être trouvés sur la page de [[https://wiki.ubuntu.com/UbuntuDevelopment/CodeReviews#NewPackage|revue de code]] (FIXME: à traduire). Les développeurs sont encouragés à analyser leurs propres paquets en utilisant ces informations avant de soumettre leurs paquets pour la revue.
Afin d'avoir des rapports de bug de meilleure qualité, écrire un "[[https://wiki.ubuntu.com/Apport#Per-package%20Apport%20Hooks|apport hook]]" (FIXME: à traduire). Voir la section de page sur [[:rapporter_un_bug#utiliser_apport|apport]].
Voici la politique d'approbation de l'équipe [[:tutoriel:comment_participer_developpement_ubuntu#ubuntu_developers_motu|MOTU]] pour les nouveaux paquets:
* Les nouveaux contributeurs MOTU (qui ne sont pas encore membre de l'équipe MOTU) doivent faire évaluer et signer leurs paquets par deux [[https://launchpad.net/~ubuntu-dev/+members|developpeurs Ubuntu]] afin qu'ils soit ajouté à Ubuntu
* Les MOTU peuvent directement ajouter leurs paquets dans les archives. Cependant ils sont vivement encouragés à faire évaluer leurs paquet avant ajout.
Voici le processus de l'équipe [[:tutoriel:comment_participer_developpement_ubuntu#ubuntu_developers_motu|MOTU]]:
* Lorsque vous commencez à travailler sur un nouveau paquet, assignez le //needs-packaging// bug à vous-même et changer le statut à "In Progress" (s'il n'y a pas de //needs-packaging// bug, en créer un).
* Une fois que vous avez un premier paquet, transférez-le sur [[https://wiki.ubuntu.com/MOTU/Packages/REVU|REVU]] (FIXME: à traduire), dans la description du bug ajoutez le lien vers le paquet dans [[:REVU]]. A partir de là il n'y a plus de changement dans Launchpad tant que le paquet n'est pas transféré.
* Une fois que le paquet approuvé est transféré, le MOTU en charge du transfert changera le statut du bug à "Fix Committed".
* When the package clears the NEW queue it will automatically be set to Fix Released (debian/changelog must close the needs-packaging bug)(FIXME: NDT: //je n'ai pas compris cette partie, donc je ne sais pas comment la traduire//). Ceci est fait par une puce selon le format suivant:
* Initial release (LP: #242910)
où "LP" désigne Launchpad. Voir le guide d'empaquetage pour [[https://wiki.ubuntu.com/PackagingGuide/Howtos/PackagingFromScratchHelloChangelog|plus d'informations sur les changelogs]]
===== Échéance =====
Le [[https://wiki.ubuntu.com/FeatureFreeze|Feeture Freeze]](gel des fonctionnalité)(FIXME: à traduire) est la dernière date d'approbation (le 18 février 2010 pour [[:lucid|Ubuntu 10.04 - Lucid Lynx]]): il est recommandé de finaliser votre paquet quelques semaines avant, car l'approbation peut prendre du temps. Des "jours REVU" sont planifiés pendant la Feature Freeze, mais les derniers jours sont consacrés aux paquets réellement requis pour obtenir les fonctionnalités attendues pour la release.
===== Démarches alternatives =====
* Celles-ci sont permises, mais [[apt>revu-tools]] est la voie officielle pour la revue de paquet.
* Le point clé est que deux MOTUs doivent approuver le paquet. Or la plupart des MOTUs passe par [[apt>revu-tools]] et il sera donc plus difficile d'obtenir une approbation pour un paquet hébergé ailleurs.
===== Autres intérêts =====
* Toujours vérifié s'il n'y a pas un bug ITP (intent to package)((traduction: "intention d'empaqueter")) existant [[http://bugs.debian.org/wnpp|dans le paquet wnpp]] dans Debian. Il vaut mieux combiner vos efforts avec eux, plutôt que de réinventer la roue.
* http://mentors.debian.net/ est un site web où les personnes souhaitant intégrer leur paquet à Debian peuvent les transférer. Il faut [[http://mentors.debian.net/debian/pool/|parcourir le site]] pour trouver les paquets. [[https://wiki.ubuntu.com/ContributingToDebian|Cette page]] (FIXME: à traduire) donne plus d'informations pour ajouter votre travail à Debian.
* [[http://svn.debian.org/wsvn|Le WebSVN de Debian]]. Il est possible qu'il y ait un travail sur un paquet pour Debian mais avec un statut //UNRELEASED//. Vérifier le répertoire approprié commençant par "pkg" où votre paquet pourrait se trouver. Par exemple un paquet concernant un jeu se trouvera dans "pkg-games".
=====Liens=====
* Traduit de la [[https://wiki.ubuntu.com/UbuntuDevelopment/NewPackages|page anglaise]]
* Le [[https://lists.ubuntu.com/archives/ubuntu-motu/2007-March/001471.html|mail]] de Jordan Mantha à l'origine de cette démarche.
----
//Contributeurs : [[utilisateurs:mr_pouit]], freacky22527, [[:utilisateurs:jahwork]]//