[ précedent ] [ Table des matières ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ suivant ]

Référence du développeur Debian
Chapitre 6 - La mise à jour d'un paquet


6.1 Annoncer un nouveau paquet

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] : NomDuPaquetcourte 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 :


6.2 Vérifier le paquet avant la mise à jour

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) :


6.3 Générer le fichier « changes »

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).


6.3.1 L'archive des sources amonts

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).


6.3.2 Choisir une distribution

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.


6.3.2.1 Mettre à jour un paquet de la distribution stable

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é.


6.4 Mettre à jour un paquet


6.4.1 Installer un paquet sur ftp-master

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

6.4.2 Installer un paquet sur non-US (pandora)

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.


6.4.3 Installer un paquet via chiark

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.


6.4.4 Installer un paquet via erlangen

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.


6.4.5 Les autres serveurs

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/.


6.5 Annoncer une mise à jour

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.


6.6 Notification de l'installation d'un nouveau paquet

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).


6.6.1 Le fichier override

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.


[ précedent ] [ Table des matières ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ suivant ]

Référence du développeur Debian

Version 2.11, 08 avril 2002 (version française 20020315).
Adam Di Carlo, responsable actuel aph@debian.org
Christian Schwarz schwarz@debian.org
Ian Jackson ijackson@gnu.ai.mit.edu
 
version française par Antoine Hulin antoine.hulin@origan.fdn.org
et les membres de la liste debian-l10n-french@lists.debian.org