====== Mise en place d'un environnement de développement de paquets Debian ====== * Objet : Mise en place d'un environnement de développement de paquets Debian * Commentaires : //Vous voulez construire / créer / reprendre / aider à maintenir un paquet Debian.// * À savoir : [[:doc:mentors:mentors|Contribuer à Debian]] :-) * Suivi : * Création par [[user>captnfab]] 28/02/2014 * Commentaires sur le forum : [[https://debian-facile.org/topic-8543-wiki-chantier-env-et-chaine-de-construction-de-paquets-debian-page-1.html|ici]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) ===== Introduction ===== La construction de paquets Debian est connue pour ne pas être une chose simple. Cependant, comme les personnes amenées à le faire sont parmi les plus compétentes des utilisateurs Debian, les outils développés sont de qualité. La prise en main n'est cependant pas toujours des plus simples… Ce tuto tente te rassembler les différentes informations à droite à gauche afin de donner un guide indiquant la marche à suivre pour, à partir de zéro((Je parle d'une installation fraîche, il vous faudra des compétences techniques certaines et de l'expérience avant d'en comprendre toutes les étapes.)), mettre en place votre chaîne de construction de paquets Debian. ===== Installation dédiée ===== La première chose que je conseille fortement est de s'installer une Debian dédiée. En effet, les outils de développement sont à prendre dans les branches testing/unstable de Debian. Personnellement, j'ai un conteneur Debian testing qui me sert au développement, et en particulier au développement de paquet Debian. Cela m'évite de «polluer» le reste du système avec des paquets pas toujours nécessaires. La solution que je préconise est donc la création d'un conteneur dédié, que l'on rangera par exemple dans ''/srv/devdeb''. Pour ce faire, voyez les tutos * [[:doc:autres:vm:lxc-conteneur | lxc]] si vous préférez créer un conteneur plutôt qu'un simple chroot. Une solution plus basique est de créer un chroot de développement : * [[:doc:install:debootstrap-chroot| Installer Debian dans un chroot avec Debootstrap]] pour la création du chroot * [[:doc:systeme:schroot| schroot]] pour une utilisation facile du chroot depuis votre système hôte. ===== Proxy cache dédié aux paquets Debian ===== Les outils de construction des paquets auront besoin de télécharger les mêmes paquets à plusieurs reprises. Aussi, pour accélérer le processus et gagner de la bande passante je vous conseille de mettre en place un serveur proxy dédié aux paquets Debian. Notez que ce serveur proxy peut être utile à tout votre parc informatique… * Voir [[:doc:reseau:apt-cacher-ng]] ===== Outil de construction des paquets : cowbuilder ===== Un paquet doit être constructible sans problème depuis un environnement frais. cowbuilder se charge de générer un environnement frais et d'y compiler le paquet. * Voir: [[:doc:mentors:cowbuilder|Installation et configuration de cowbuilder]] ===== Signature des paquets : gnupg et debsign ===== Avant d'uploader un paquet dans les archives Debian, il est nécessaire de le signer avec sa clé GPG. * Voir [[:doc:mentors:signer-un-paquet|Signer ses paquets Debian]] ===== Upload des paquets : dput ===== Pour qu'un paquet Debian se retrouve dans les archives officielles, ou sur le site des mentors, il faut que quelqu'un l'upload sur les serveurs Debian. * Voir [[:doc:mentors:dput|Installation et configuration de dput]] ===== Gestion d'un paquet avec git et git-buildpbckage===== Le suivi d'un paquet Debian est une tâche qui peut être facilitée par l'utilisation d'un logiciel de suivi de version (VCS) tel que Git. Des outils dédiés à Git((Existent aussi pour les autres Vcs bien connus, comme mercurial ou subversion)). * Voir [[:doc:mentors:git-buildpackage|Maintenir un paquet avec git-buildpackage]] ===== Références ===== * [[http://documentation.thebigrede.net/maintainers/index.html|How to build Debian packages correctly]] * [[https://wiki.debian.org/Alioth/Git#Using_personal_Git_repositories|Utiliser Git sur Alioth]]