Si vous voulez créer un nouveau paquet pour la distribution Debian vous devriez
commencer par consulter la liste des paquets en souffrance et paquets
souhaités
. Vous pourrez ainsi vérifier que personne ne travaille
déjà sur ce paquet et éviter un double travail. Consultez aussi cette page si
vous voulez en savoir plus.
Supposons que personne ne travaille sur le paquet que vous visez, vous devez alors envoyer un rapport de bogue (voir Ouvrir un rapport de bogue, Section 10.2) concernant le pseudo-paquet wnpp. Ce courrier devra décrire le paquet que vous projetez de créer, la licence de ce paquet et l'URL à laquelle le source peut être téléchargé. Cette liste n'est pas limitative.
Le sujet de votre rapport de bogue devra être <ITP[10] : NomDuPaquet
— courte description>, en remplaçant NomDuPaquet
par le nom du paquet. La gravité du bogue sera whishlist. Si vous le
jugez nécessaire, envoyez une copie à debian-devel@lists.debian.org
en mettant cette adresse dans le champ X-Debbugs-CC: de l'en-tête
du message. N'utilisez pas le champ CC: car de cette manière le
sujet du message ne contiendrait pas le numéro du bogue.
Il faudra aussi ajouter une entrée Closes: bug#nnnnn
dans le fichier changelog
du nouveau paquet. Cette indication
fermera automatiquement le rapport de bogue à l'installation du nouveau paquet
sur les serveurs d'archivage (voir Quand les rapports sont fermés
par une mise à jour, Section 10.4).
Il y a plusieurs raisons qui nous poussent à demander aux responsables d'annoncer leurs intentions :
C'est une information utile pour les gens qui utilisent la distribution unstable et qui sont nos premiers testeurs. Nous devons faciliter la tâche de ces gens.
Avec ces annonces, les développeurs Debian et toutes les autres personnes intéressées peuvent se faire une meilleure idée des évolutions et nouveautés du projet.
Avant de mettre à jour votre paquet vous ferez quelques tests de base. Vous devrez au moins faire les tests suivants (il vous faut une ancienne version du paquet) :
lintian
sur votre paquet. Vous pouvez exécuter
lintian
comme suit : lintian -v
package-version.changes. Ce programme fera une vérification
sur les paquets source et binaire. Si vous ne comprenez pas les messages
générés par lintian
essayez l'option -i. Cette
option rendra lintian
beaucoup plus bavard dans sa description du
problème.
En principe, un paquet pour lequel lintian
génère des erreurs
(elles commencent par E) ne doit pas être installé dans
l'archive.
Pour en savoir plus sur lintian
reportez-vous à la section lintian
lintian
, Section 12.2.
Chaque nouvelle version d'un paquet installé sur les archives FTP Debian doit
être accompagnée d'un fichier .changes. Ce fichier explique à
l'administrateur de l'archive Debian ce qu'il doit faire du paquet. Il est en
général créé par dpkg-genchanges
au cours du processus de
fabrication du paquet.
Le fichier changes est un fichier de contrôle qui contient les champs suivants :
Tous ces champs sont obligatoires pour une installation sur les serveurs
Debian. Vous pouvez consulter la liste des champs de contrôle dans le Debian Policy Manual
pour connaître les valeurs que prennent ces champs. Vous pouvez fermer un
rapport de bogue automatiquement avec le champ Description (voir
Quand les rapports sont
fermés par une mise à jour, Section 10.4).
La première fois qu'un paquet est installé dans l'archive pour une version amont donnée, le fichier tar de cette version amont doit être téléchargé et mentionné dans le fichier .changes. Par la suite, ce fichier tar sera utilisé pour générer les fichiers diff et .dsc et il ne sera pas nécessaire de le télécharger à nouveau.
Par défaut, dpkg-genchanges
et dpkg-buildpackage
incluront le fichier tar amont si et seulement si le numéro de
révision du paquet source est 0 ou 1, ce qui indique une nouvelle version
amont. Ce comportement peut être modifié en utilisant -sa pour
l'inclure systématiquement ou -sd pour ne jamais l'inclure.
Si la mise à jour ne contient pas le fichier tar des sources
originaux, dpkg-source
doit, pour construire les fichiers
.dsc et diff de la mise à jour, utilisez un fichier
tar identique à l'octet près à celui sur le serveur. Si pour une
raison ou pour une autre il y a une différence, la nouvelle version de ce
fichier doit à nouveau être incluse dans la mise à jour (en utilisant l'option
-sa par exemple).
Le champ Distribution, qui provient de la première ligne du
fichier debian/changelog
, indique à quelle distribution le paquet
est destiné.
Il y a trois valeurs possibles pour ce champ : stable, unstable et experimental . En temps normal, les paquets sont téléchargés dans unstable.
Vous devriez éviter de combiner stable avec d'autres cibles à cause des problèmes potentiels de dépendance de bibliothèque (pour votre paquet et pour les paquets fabriqués par le démon de compilation pour les autres architectures). Se reporter à Mettre à jour un paquet de la distribution stable, Section 6.3.2.1 pour savoir quand et comment faire une mise à jour de stable.
Notez bien que combiner experimental avec quelque distribution que ce soit n'a pas de sens.
Livrer un paquet pour la distribution stable signifie que le paquet sera dirigé vers le répertoire proposed-updates des archives Debian pour y être testé avant d'être effectivement inclus dans stable.
Une livraison pour la distribution stable requière des soins supplémentaires. Un paquet de cette distribution ne devrait être mis à jour que dans les cas suivants :
Il est fortement déconseillé de changer quoi que ce soit si ce n'est pas important car même une modification triviale peut causer un bogue plus tard. Livrer une nouvelle version amont d'un logiciel pour corriger un problème de sécurité est désapprouvé ; dans la plupart des cas la bonne solution consiste à prendre la rustine correspondante de la nouvelle version amont et à l'appliquer à l'ancienne (faire un portage (backport) de la rustine.
Les paquets livrés pour stable doivent être compilés avec la distribution stable pour que leurs dépendances se limitent aux bibliothèques (et autres paquets) disponibles dans stable ; un paquet livré pour la distribution stable qui dépend d'une bibliothèque qui n'est disponible que dans unstable sera rejeté. Modifier les dépendances d'autres paquets (en manipulant le champ Provides ou les fichiers shlibs) et, peut-être, rendre ces paquets ininstallables, est fortement déconseillé.
L'équipe responsable de la distribution[12] (joignable à l'adresse debian-release@lists.debian.org
)
évaluera régulièrement le contenu de proposed-updates et décidera si
votre paquet peut être inclus dans la distribution stable. Soyez
précis (et, si nécéssaire, généreux) quand vous décrivez, dans le fichier
changelog, vos changements pour une livraison vers stable sinon le
paquet ne sera pas considéré.
Pour installer un paquet vous avez besoin d'un compte sur
ftp-master
, ce que vous devez avoir en tant que développeur
Debian. Si vous utilisez scp
ou rsync
pour
télécharger vos paquets, placez-les dans
/org/ftp.debian.org/incoming/. Si vous utilisez un FTP anonyme,
placez-les dans /pub/UploadQueue/
.
Note : ne téléchargez pas de paquet soumis aux lois de contrôle
des exportations américaines sur le serveur ftp-master, ni sur les
serveurs chiark et erlangen. Cet interdit couvre à
peu près tous les logiciels de cryptographie ainsi que quelques logiciels liés
aux logiciels de cryptographie comme les clients de courrier électronique qui
utilisent le cryptage et l'authentification PGP. Ces logiciels doivent être
téléchargés sur le serveur non-us. Reportez-vous à la section Installer un paquet sur
non-US (pandora), Section 6.4.2 pour en savoir plus. Si vous
ne savez pas si votre paquet est soumis aux lois de contrôle des exportations
américaines posez la question sur la liste debian-devel@lists.debian.org
.
Le paquet dupload
pourra vous faciliter le travail lors du
téléchargement. Ce programme, bien pratique, est configuré par défaut pour se
connecter par FTP sur les serveurs ftp-master, chiark
et erlangen. Il peut aussi être configuré pour utiliser
ssh
ou rsync
. Se reporter à dupload(1)
et dupload(5)
pour en savoir plus.
Après avoir téléchargé votre paquet, vous pouvez vérifier ce qu'en fera le
logiciel de maintenance de l'archive en exécutant dinstall
sur
votre fichier .changes
:
dinstall -n foo.changes
Comme nous l'avons dit un peu plus haut, les programmes soumis au contrôle des
exportations américain ne doivent pas être installés sur
ftp-master. Utilisez scp
ou rsync
pour
copier votre paquet sur non-us.debian.org
. Placer les fichiers
dans le répertoire /org/non-us.debian.org/incoming/. Par défaut,
vous pouvez utiliser le même login/mot de passe que pour
ftp-master. Si vous utilisez une connexion FTP anonyme pour le
téléchargement, placez vos fichiers dans le répertoire /pub/UploadQueue/
.
Le programme dupload
est, lui aussi, capable de télécharger sur
non-us ; consultez la documentation de ce programme pour en
savoir plus.
Tout comme sur ftp-master, vous pouvez vérifier votre téléchargement avec :
dinstall -n foo.changes
Attention, les personnes résidant aux États-Unis et les citoyens américains sont soumis à des restrictions sur l'exportation des logiciels de cryptographie. Au moment où j'écris, les citoyens américains peuvent exporter quelques logiciels de cryptographie soumis à une obligation de déclaration auprès du département du commerce américain.
Le Debian Policy Manual n'empêche pas les résidents et citoyens américains de livrer des paquets sur non-US mais ils devront être vigilants en le faisant. Nous recommandons aux responsables concernés de prendre toutes les précautions nécessaires, y compris la consultation d'un juriste, pour s'assurer qu'ils n'enfreignent pas une loi américaine en livrant un paquet sur non-US.
Pour les paquets des sections non-US/main et non-US/contrib
les responsables devraient au moins suivre la procédure
décrite par le gouvernement américain
. Les responsables de paquets
non-US/non-free devront en plus consulter les règles de déclaration d'exportation
pour les logiciels commerciaux
.
Cette section a pour seul but d'informer, elle n'a pas valeur de conseil juridique. Une fois encore, nous recommandons aux résidents et citoyens américains de consulter un juriste avant de livrer un paquet sur non-US.
Si votre connexion vers ftp-master est lente, vous avez plusieurs
possibilités. L'une d'elles consiste à télécharger vos fichiers dans
Incoming en passant par le serveur chiark en Europe.
Pour les détails consultez ftp://ftp.chiark.greenend.org.uk/pub/debian/private/project/README.how-to-upload
.
Attention, ne téléchargez pas de paquet contenant un logiciel soumis aux lois de contrôle des exportations américaines sur chiark. Les paquets téléchargés sur ce serveur sont redirigés vers ftp-master, les indications de la section Installer un paquet sur ftp-master, Section 6.4.1 sont applicables ici aussi.
Le programme dupload
est capable de télécharger sur
chiark ; consultez la documentation de ce programme pour en
savoir plus.
Vous pouvez aussi accéder à un serveur situé en Allemagne : il vous suffit d'ouvrir une connexion anonyme sur :
ftp://ftp.uni-erlangen.de/pub/Linux/debian/UploadQueue/
.
Le téléchargement fait sur ce serveur doit être aussi complet que s'il était
fait dans le répertoire Incoming sur ftp-master : il
doit comporter le fichier .changes
et tous les fichiers mentionnés
dans ce dernier. Le serveur vérifie que le fichier .changes est
bien signé avec la clé PGP d'un développeur Debian pour éviter que des faux
paquets n'atteignent ftp-master. Vérifiez bien que le champ
Maintainer du fichier .changes contient
votre adresse électronique. De même que sur ftp-master,
cette adresse est ensuite utilisée pour toutes les réponses.
Il n'est pas nécessaire de déplacer votre fichier dans un autre répertoire après le téléchargement, contrairement au serveur chiark. Vous devriez ensuite recevoir un courrier du serveur expliquant ce qu'il a fait de votre paquet. Normalement, il devrait avoir été déplacé vers ftp-master ; vous serez informé par le même biais si une erreur s'est produite au cours du processus.
Attention, ne téléchargez pas de paquet contenant un logiciel soumis aux lois de contrôle des exportations américaines sur erlangen. Les paquets téléchargés sur ce serveur sont redirigés vers ftp-master, les indications de la section Installer un paquet sur ftp-master, Section 6.4.1 sont applicables ici aussi.
Le programme dupload
est capable de télécharger sur
erlangen ; consultez la documentation de ce programme pour en
savoir plus.
Un autre serveur est disponible aux États-Unis ; c'est un bon point de
repli quand il est difficile de joindre ftp-master. Livrez vos
paquets à l'adresse ftp://samosa.debian.org/pub/UploadQueue/
comme vous le feriez sur erlangen.
Il existe aussi un serveur au Japon : téléchargez vos paquet par FTP
anonyme sur ftp://master.debian.or.jp/pub/Incoming/upload/
.
Quand un paquet est mis à jour, une annonce doit être envoyée sur l'une des
listes « debian-changes ». Ceci est maintenant géré automatiquement
par le logiciel de gestion de l'archive quand il est exécuté (en principe une
fois par jour). Vous devez juste utiliser une version récente de
dpkg-dev
(>= 1.4.1.2). Le courrier généré par le logiciel de
maintenance de l'archive contiendra le fichier .changes signé que
vous avez livré avec votre paquet. Précédemment, cette charge revenait à
dupload
; vérifiez que vous avez bien configuré
dupload
pour qu'il n'envoie pas ces annonces (cherchez
dinstall_runs dans la documentation de dupload
).
Si un paquet est mis à jour avec un champ Distribution: à stable, l'annonce est envoyée sur la liste :
debian-changes@lists.debian.org
.
S'il est mis à jour avec un champ Distribution: à
unstable ou experimental, l'annonce est envoyée sur la liste
debian-devel-changes@lists.debian.org
.
Le programme dupload
est suffisamment intelligent pour déterminer
où devra aller l'annonce et pour envoyer le courrier sur la bonne liste. Voir
dupload
, Section 12.9.
Les administrateurs de l'archive Debian sont responsables de l'installation des
mises à jour. La plupart des mises à jour sont gérées quotidiennement par le
logiciel de gestion de l'archive katie
. Les mises à jour de
paquets sur la distribution unstable, en particulier, sont installés
ainsi. Dans les autres cas et notamment dans le cas d'un nouveau paquet,
celui-ci sera installé manuellement. Il peut s'écouler jusqu'à un mois entre
le téléchargement d'un paquet vers un serveur et son installation effective.
Soyez patients.
Dans tous les cas vous recevrez un accusé de réception par courrier électronique indiquant que votre paquet a été installé et quels rapports de bogues ont été clos. Lisez attentivement ce courrier et vérifiez que tous les rapports de bogues que vous vouliez clore sont bien dans cette liste.
L'accusé de réception indique aussi la section dans laquelle le paquet a été installé. S'il ne s'agit pas de votre choix, vous recevrez un second courrier qui vous informera de cette différence (voir plus loin).
Les champs Section et Priority du fichier
debian/control
n'indiquent ni où le paquet sera installé dans
l'archive Debian ni sa priorité. Afin de conserver la cohérence de l'archive,
ce sont les administrateurs qui contrôlent ces champs. Les valeurs du fichier
debian/control
sont juste des indications.
Les administrateurs de l'archive indiquent les sections et priorités des
paquets dans le fichier override. Si ce fichier override et
le fichier debian/control
de votre paquet diffèrent, vous en serez
informé par courrier électronique quand votre paquet sera installé dans
l'archive. Vous pourrez corriger votre fichier debian/control avant
votre prochain téléchargement ou alors vous aurez envie de modifier le fichier
override.
Pour modifier la section dans laquelle un paquet est archivé, vous devez
d'abord vérifier que fichier debian/control
est correct. Ensuite,
envoyez un courrier à override-change@debian.org
ou un rapport de bogue sur le pseudo paquet ftp.debian.org
demandant la modification de la section ou de la priorité de votre paquet.
Exposez bien les raisons qui vous amènent à demander ces changements.
Pour en savoir plus sur le fichier override, reportez-vous à
dpkg-scanpackages(8)
,
/usr/share/doc/debian/bug-log-mailserver.txt
et
/usr/share/doc/debian/bug-maint-info.txt
.
Référence du développeur Debian
Version 2.11, 08 avril 2002 (version française 20020315).aph@debian.org
schwarz@debian.org
ijackson@gnu.ai.mit.edu
antoine.hulin@origan.fdn.org
debian-l10n-french@lists.debian.org