Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ceci est une ancienne révision du document !
Nota :
Contributeurs, les sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli !
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éro2), mettre en place votre chaîne de construction de paquets Debian.
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
Une solution plus basique est de créer un chroot de développement :
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…
Comme le serveur doit être lancé à chaque fois, il vaut mieux l'installer dans le conteneur ou, dans le cas d'un chroot, directement sur le système hôte. Ou encore, sur une machine dédiée de votre réseau…
apt-get install apt-cacher-ng
Le proxy écoutera par défaut sur le port 3142 de la machine.
Pour l'utiliser, il suffit de rajouter dans chaque installation (chroot / conteneur compris) le fichier suivant dans le répertoire /etc/apt/apt.conf.d/00proxy
.
Acquire::http::Proxy "http://127.0.0.1:3142";
En remplaçant 127.0.0.1 par l'adresse idoine.
Pour la soumission de vos paquets, il sera nécessaire que vous authentifiez vos paquets en les signant au moyen d'une clé GPG. Si vous décidez d'héberger un dépôt pour le suivi de version de votre paquet sur les serveurs Debian, il vous faudra également une clé ssh.
À indiquer par exemple dans votre compte Alioth pour vous connecter aux serveurs Debian.
apt-get install openssh-client
Génération de la paire de clés ssh :
ssh-keygen -f ~/.ssh/debian_rsa
Utilisés pour signer (ou chiffrer) les courriels et les paquets Debian.
apt-get install gnupg
Génération de la clé privée GPG :
gpg --gen-key
Génération du certificat de révocation (remplacer XXXXXXXX par l'ID de votre clé) :
gpg --output revoke.asc --gen-revoke XXXXXXXX
Génération de la clé publique :
gpg --output ~/votre-login.gpg --export votre@adresse-email.org
Génération de la clé publique version ASCII :
gpg --armor --export votre@adresse-email.org
Pour ne pas avoir à retaper la passphrase à chaque signature, on peut utiliser gpg-agent
, qui fonctionne de la même manière que ssh-agent
.
Pour ce faire, il faut rajouter au fichier ~/.gnupg/gpg.conf
le code suivant:
use-agent
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.
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.
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 à Git3).
apt-get source nom-du-paquet
Pour récupérer le dépôt git/mercurial/subversion/etc. du paquet, il est possible d'utiliser debcheckout du paquet devscripts
.
apt-get install devscripts
debcheckout nom-du-paquet
apt-get install autotools-dev automake autoconf dh-autoreconf devscripts dh-make