Chapitre 4. Ressources pour les responsables Debian

Table des matières

4.1. Listes de diffusion
4.1.1. Règles d'utilisation fondamentales
4.1.2. Principales listes de diffusion pour les responsables
4.1.3. Listes particulières
4.1.4. Demander une nouvelle liste pour le développement
4.2. Canaux IRC
4.3. Documentation
4.4. Serveurs Debian
4.4.1. Serveur de suivi des bogues (BTS)
4.4.2. Serveur FTP principal ftp-master
4.4.3. Serveur web principal www-master
4.4.4. Serveur web pour pages personnelles people
4.4.5. Serveurs de gestion de versions (VCS)
4.4.6. Chroots de différentes distributions
4.5. Base de données des développeurs
4.6. Archive Debian
4.6.1. Sections
4.6.2. Architectures
4.6.3. Paquets
4.6.4. Distributions
4.6.5. Noms de code des distributions
4.7. Miroirs Debian
4.8. Système « Incoming »
4.9. Informations sur un paquet
4.9.1. Sur le web
4.9.2. Utilitaire dak ls
4.10. Système de suivi des paquets (PTS)
4.10.1. Interface de courrier du PTS
4.10.2. Filtrer les courriers du PTS
4.10.3. Faire suivre les annonces de révision vers le PTS
4.10.4. Interface web du PTS
4.11. Vue d'ensemble des paquets d'un développeur
4.12. FusionForge pour Debian : Alioth
4.13. Avantages pour les développeurs
4.13.1. Abonnements à LWN
4.13.2. Remise sur l'hébergement Gandi.net

Ce chapitre décrit brièvement les listes de diffusion, les serveurs Debian à disposition des développeurs et les autres ressources utiles au travail de responsable.

4.1. Listes de diffusion

Une grande partie des discussions entre les développeurs Debian (et les utilisateurs) a lieu dans un vaste éventail de listes de diffusion hébergées sur lists.debian.org. Pour en savoir plus sur la façon de s'abonner ou se désabonner, d'utiliser les listes, de consulter les archives, de contacter leurs responsables, ainsi que diverses autres informations sur les listes de diffusion, veuillez lire http://www.debian.org/MailingLists/. Cette section ne détaille que les informations utiles aux développeurs.

4.1.1. Règles d'utilisation fondamentales

Une réponse sur une liste de diffusion ne doit pas être envoyée en copie (CC) à l'expéditeur initial, sauf s'il l'a explicitement demandé. Toute personne écrivant sur une liste de diffusion devrait la suivre pour voir les réponses.

L'envoi d'un même message à plusieurs listes (« cross-post ») est déconseillé. Conformément aux usages, veuillez réduire la citation des articles auxquels vous répondez. En règle générale, veuillez respecter les conventions habituelles d'envoi de messages.

Veuillez lire le code de conduite pour plus de renseignements. Les recommandations de la communauté Debian (« Debian Community Guidelines ») valent également la peine d'être lue.

4.1.2. Principales listes de diffusion pour les responsables

Les principales listes de diffusion que les développeurs devraient suivre sont :

D'autres listes de diffusion sont spécialisées dans différents thèmes ; voir une liste sur http://lists.debian.org/.

4.1.3. Listes particulières

est une liste de diffusion destinée aux échanges privés entre développeurs Debian. Elle sert aux messages qui, pour une raison ou une autre, ne devraient pas être rendus publics. De ce fait, c'est une liste à faible trafic. Il est déconseillé d'utiliser sauf en cas de réelle nécessité. En outre, il ne faut jamais faire suivre un message provenant de cette liste à qui que ce soit. Les archives de cette liste ne sont pas disponibles sur la toile pour des raisons évidentes, mais il est possible de les consulter dans le répertoire ~debian/archive/debian-private/ sur master.debian.org.

est une liste de diffusion fourre-tout. Elle est utilisée pour les correspondances relatives à Debian qu'il serait utile d'archiver, telles que des échanges avec les auteurs amont à propos de licences, de bogues ou encore des discussions sur le projet avec d'autres personnes.

4.1.4. Demander une nouvelle liste pour le développement

Avant de demander une liste de diffusion pour le développement d'un paquet (ou d'un petit groupe de paquets apparentés), veuillez envisager l'utilisation plus appropriée d'un alias (à l'aide d'un fichier .forward-nomdalias sur master.debian.org, qui se traduit en une adresse raisonnablement agréable vous-nomdalias@debian.org) ou d'une liste de diffusion autogérée sur Alioth.

Si une liste de diffusion standard sur lists.debian.org est vraiment ce que vous voulez, lancez-vous et faites une demande en suivant le guide.

4.2. Canaux IRC

Plusieurs canaux IRC sont dédiés au développement de Debian. Ils sont principalement hébergés sur le réseau Open and Free Technology Community (OFTC). L'entrée DNS irc.debian.org est un alias vers irc.oftc.net.

Le principal canal pour Debian est #debian. Il s'agit d'un canal important, généraliste, où les utilisateurs peuvent trouver des nouvelles récentes dans le sujet et qui est administré par des robots. #debian est destiné aux anglophones ; il existe également #debian.de, #debian-fr, #debian-br et d'autres canaux avec des noms semblables pour les personnes parlant d'autres langues.

Le canal principal pour le développement de Debian est #debian-devel. C'est un canal très actif puisque plus de 150 personnes sont connectées en permanence. C'est un canal pour les personnes qui travaillent sur Debian, ce n'est pas un canal d'aide (il existe #debian pour cela). Il est cependant ouvert à tous ceux qui veulent écouter (et apprendre). Le sujet est généralement rempli d'informations intéressantes pour les développeurs.

Comme #debian-devel est un canal ouvert, vous ne devriez pas y parler de problèmes discutés sur . Il existe un autre canal dans ce but, appelé #debian-private et protégé par clé. La clé est disponible dans le fichier master.debian.org:~debian/misc/irc-password.

D'autres canaux sont dédiés à des sujets spécifiques. #debian-bugs est utilisé pour la coordination des chasses aux bogues (« bug squashing parties »). #debian-boot est utilisé pour la coordination du travail sur l'installateur Debian (« debian-installer »). #debian-doc est utilisé occasionnellement pour travailler sur la documentation comme celle que vous lisez actuellement. D'autres canaux sont dédiés à une architecture ou un ensemble de paquets : #debian-kde, #debian-dpkg, #debian-jr, #debian-edu, #debian-oo (paquet OpenOffice.org), etc.

Des canaux existent pour développeurs non anglophones, par exemple, #debian-devel-fr pour les francophones intéressés dans le développement de Debian.

Des canaux dédiés à Debian existent sur d'autres réseaux IRC, notamment sur le réseau IRC Freenode, sur lequel pointait l'alias irc.debian.org jusqu'au 4 juin 2006.

Pour obtenir un uniforme (« cloak ») sur freenode, envoyez un message signé à Jörg Jaspert <joerg@debian.org> où vous indiquerez votre pseudonyme (« nick »). Indiquez « cloak » dans le sujet. Votre pseudonyme doit être enregistré conformément à la page de configuration des pseudonymes. Le message doit être signé avec une clé du porte-clés Debian. Veuillez consulter la documentation de Freenode sur les uniformes pour plus d'informations.

4.3. Documentation

Ce document contient beaucoup d'informations très utiles aux développeurs Debian, mais il ne peut pas tout contenir. La plupart des autres documents intéressants sont référencés dans le coin du développeur Debian. Prenez le temps de parcourir tous les liens, vous apprendrez encore beaucoup de choses.

4.4. Serveurs Debian

Debian possède plusieurs ordinateurs employés comme serveurs, dont la plupart hébergent les fonctions critiques du projet Debian. La plupart des machines sont utilisées pour des activités de portage et elles ont toutes un accès permanent à Internet.

La plupart des machines peuvent être utilisées par les développeurs tant qu'ils respectent les règles définies dans la charte d'utilisation des machines Debian.

Ces machines peuvent être utilisées à votre discrétion pour des buts liés à à Debian. Veuillez cependant, par égard aux administrateurs système, ne pas utiliser de grandes quantités d'espace disque, de ressource réseau ou processeur sans obtenir auparavant l'accord des administrateurs. Ces machines sont d'habitude administrées par des bénévoles.

Veuillez prendre soin de vos mots de passe Debian ainsi que des clés SSH installées sur les machines Debian. Évitez les méthodes de connexion ou d'envoi de données qui envoient les mots de passe en clair par Internet comme Telnet, FTP, POP, etc.

Veuillez ne pas déposer de données non relatives à Debian sur les serveurs Debian à moins d'avoir préalablement obtenu la permission de le faire.

La liste à jour des machines Debian est disponible sur la page : http://db.debian.org/machines.cgi. Cette page web contient les noms des machines, et permet d'accéder aux informations suivantes : contact, qui peut s'y connecter, clés SSH, etc.

Si vous rencontrez un problème en utilisant un serveur Debian, et si vous estimez que les administrateurs système devraient en être avertis, vous pouvez vérifier la liste des tickets ouverts dans la file d'attente relative au DSA (administrateurs de système Debian « Debian System Administrators ») du gestionnaire de demandes (« request tracker ») : https://rt.debian.org/ (identifiant « debian » ; mot de passe disponible en master.debian.org:~debian/misc/rt-password). Pour signaler un nouveau problème, il suffit d'envoyer un message à en s'assurant d'indiquer « Debian RT » dans le sujet.

Si le problème est lié à un service particulier, non relatif à l'administration système (paquet à supprimer de l'archive ou suggestion pour le site web par exemple), il faudra en général ouvrir un rapport de bogue sur un « pseudo-paquet ». Voir Section 7.1, « Signalement de bogues » pour connaître la procédure à suivre.

Certains serveurs de base sont à accès restreint, mais les informations de ceux-ci sont fournies par d'autres serveurs miroirs.

4.4.1. Serveur de suivi des bogues (BTS)

bugs.debian.org est le serveur maître du système de suivi des bogues (« Bug Tracking System » ou BTS).

Si vous envisagez de manipuler les bogues ou d'en faire une analyse statistique, ce sera le bon endroit pour le faire. Informez la liste de votre intention avant d'implémenter quoi que ce soit afin d'éviter un travail en double ou un gaspillage de temps machine.

4.4.2. Serveur FTP principal ftp-master

Le serveur ftp-master.debian.org est le serveur maître de l'archive Debian. En général, les paquets envoyés à ftp.upload.debian.org aboutissent sur ce serveur, voir Section 5.6, « Envois de paquets ».

Ce serveur est à accès restreint ; un miroir est disponible sur ries.debian.org.

Les problèmes avec l'archive Debian FTP doivent généralement être rapportés comme bogues sur le pseudo-paquet ftp.debian.org ou par courrier électronique à  ; voir Section 5.9, « Manipulation de paquet dans l'archive » pour connaître la procédure à suivre.

4.4.3. Serveur web principal www-master

Le serveur web principal est www-master.debian.org. Il héberge les pages web officielles, la façade de Debian pour la plupart des débutants.

Si vous rencontrez un problème avec un serveur web Debian, vous devriez envoyer un rapport de bogue sur le pseudo-paquet www.debian.org. Vérifiez d'abord sur le système de suivi des bogues que le problème n'a pas déjà été signalé.

4.4.4. Serveur web pour pages personnelles people

people.debian.org est le serveur utilisé par les développeurs pour leurs pages concernant Debian.

Si vous avez des informations spécifiques à Debian que vous voulez rendre disponibles sur le web, vous pouvez le faire en les plaçant dans le répertoire public_html de votre répertoire personnel sur people.debian.org. Elles seront accessibles à l'adresse http://people.debian.org/~votre-identifiant/.

Vous ne devriez utiliser que cet emplacement particulier car il sera sauvegardé alors que sur les autres serveurs, ce ne sera pas le cas.

Normalement, la seule raison d'utiliser un serveur différent est pour publier des informations soumises aux restrictions d'exportation américaines. Dans ce cas, vous pouvez utiliser un autre serveur situé en dehors des États-Unis.

Veuillez envoyer toute question à .

4.4.5. Serveurs de gestion de versions (VCS)

Si vous avez besoin d'une gestion de versions (« Version Control System » ou VCS) pour tout travail relatif à Debian, vous pouvez utiliser un des dépôts existants hébergés sur Alioth ou demander un nouveau projet avec le système de gestion de versions de votre choix. Alioth gère CVS (cvs.alioth.debian.org/cvs.debian.org), Subversion (svn.debian.org), Arch (tla/baz, tout deux sur arch.debian.org), Bazaar (bzr.debian.org), Darcs (darcs.debian.org), Mercurial (hg.debian.org) et Git (git.debian.org). Consultez http://wiki.debian.org/Alioth/PackagingProject si vous avez l'intention de maintenir un paquet à l'aide d'un logiciel de gestion de versions. Voir Section 4.12, « FusionForge pour Debian : Alioth » pour plus d'informations sur les services fournis par Alioth.

4.4.6. Chroots de différentes distributions

Sur certaines machines, des chroots de différentes distributions sont disponibles. Vous pouvez les utiliser comme ceci :

vore$ dchroot unstable
Exécution de l'interpréteur de commandes initial dans le chroot : /org/vore.debian.org/chroots/user/unstable

Dans chaque chroot, les répertoires normaux des utilisateurs sont disponibles. Vous pouvez trouver quels chroots sont disponibles sur http://db.debian.org/machines.cgi.

4.5. Base de données des développeurs

La base de données des développeurs, sur https://db.debian.org/, est un annuaire LDAP regroupant des informations sur les développeurs Debian. Vous pouvez utiliser cette ressource pour rechercher la liste des développeurs Debian. Une partie de ces informations est également disponible avec finger sur les serveurs Debian, essayez finger votreidentifiant@db.debian.org pour voir ce qu'il indique.

Les développeurs peuvent se connecter à la base de données pour modifier différentes informations les concernant, comme :

  • l'adresse de suivi pour leur adresse debian.org ;

  • l'abonnement à debian-private ;

  • l'état en vacances ou non ;

  • des informations personnelles comme les adresse, pays, latitude et longitude de l'endroit où ils vivent pour utilisation dans la carte mondiale des développeurs Debian, numéros de téléphone et de fax, surnom IRC et page web ;

  • le mot de passe et le shell préféré sur les machines du projet Debian.

La plupart des informations ne sont naturellement pas publiques. Pour plus d'informations, veuillez lire la documentation en ligne sur http://db.debian.org/doc-general.html.

Les développeurs peuvent également envoyer leurs clés SSH afin de les utiliser pour authentification sur les machines Debian officielles, et même ajouter de nouvelles entrées DNS du type *.debian.net. Ces fonctionnalités sont documentées sur http://db.debian.org/doc-mail.html.

4.6. Archive Debian

La distribution Debian GNU/Linux est composée d'un grand nombre de paquets (environ 15000) et de quelques autres fichiers (comme la documentation et les images de disque d'installation).

Voici un exemple d'arborescence pour une archive Debian complète :

dists/stable/main/
dists/stable/main/binary-amd64/
dists/stable/main/binary-armel/
dists/stable/main/binary-i386/
     ...
dists/stable/main/source/
     ...
dists/stable/main/disks-amd64/
dists/stable/main/disks-armel/
dists/stable/main/disks-i386/
     ...

dists/stable/contrib/
dists/stable/contrib/binary-amd64/
dists/stable/contrib/binary-armel/
dists/stable/contrib/binary-i386/
     ...
dists/stable/contrib/source/

dists/stable/non-free/
dists/stable/non-free/binary-amd64/
dists/stable/non-free/binary-armel/
dists/stable/non-free/binary-i386/
     ...
dists/stable/non-free/source/

dists/testing/
dists/testing/main/
     ...
dists/testing/contrib/
     ...
dists/testing/non-free/
     ...

dists/unstable
dists/unstable/main/
     ...
dists/unstable/contrib/
     ...
dists/unstable/non-free/
     ...

pool/
pool/main/a/
pool/main/a/apt/
     ...
pool/main/b/
pool/main/b/bash/
     ...
pool/main/liba/
pool/main/liba/libalias-perl/
     ...
pool/main/m/
pool/main/m/mailx/
     ...
pool/non-free/f/
pool/non-free/f/firmware-nonfree/
     ...

Le répertoire racine contient deux répertoires : dists/ et pool/. Le second contient un ensemble de répertoires où sont stockés les paquets. Ceux-ci sont gérés dans la base de données de l'archive et les logiciels qui l'accompagnent. Le premier répertoire contient les distributions stable, testing et unstable. Les fichiers Packages et Sources des sous-répertoires de distribution font référence aux fichiers du répertoire pool/. Le découpage en sous-répertoires est identique d'un répertoire de distribution à l'autre. Ce qui est exposé ci-dessous pour la distribution stable est également valable pour les distributions unstable et testing.

Le répertoire dists/stable contient trois répertoires nommés main, contrib, et non-free.

Dans chacune de ces sections, se trouve un répertoire contenant les paquets source (source/) et un répertoire pour chaque architecture gérée (binary-i386, binary-amd64, etc.).

La section main contient d'autres répertoires destinés aux images de disque et à plusieurs documents essentiels pour installer la distribution Debian sur chaque architecture (disks-i386, disks-amd64, etc.).

4.6.1. Sections

La section main de l'archive constitue la distribution Debian GNU/Linux officielle. La section main est officielle parce qu'elle est entièrement conforme à toutes nos recommandations. Les deux autres sections divergent de ces recommandations à différents degrés, elles ne font donc pas officiellement partie de Debian GNU/Linux.

Chaque paquet de la section main doit être conforme aux directives Debian pour le logiciel libre (« Debian Free Software Guidelines » ou DFSG) et à toutes les autres recommandations décrites dans la Charte Debian (« Debian Policy Manual »). Les DFSG constituent la définition de « logiciel libre » selon Debian. Reportez-vous à la charte Debian pour en savoir plus.

Les paquets de la section contrib doivent être conformes aux DFSG, mais ne respectent pas d'autres contraintes. Ils peuvent, par exemple, dépendre de paquets de la section non-free.

Les paquets qui ne sont pas conformes aux DFSG sont classés dans la section non-free. Bien qu'ils soient prêts à être utilisés sur un système Debian, et qu'ils bénéficient des infrastructures de Debian (système de suivi de bogues, listes de diffusion, etc.), ces paquets non libres ne font pas partie de la distribution Debian.

La Charte Debian (« Debian Policy Manual ») donne des définitions plus précises de ces trois sections. Les paragraphes précédents ne constituent qu'une introduction.

La séparation de l'archive en trois sections est importante pour toute personne qui désire distribuer Debian, que ce soit par Internet ou sur CD-ROM : il suffit de distribuer les sections main et contrib pour éviter tout problème légal. Certains paquets de la section non-free interdisent leur distribution à titre commercial par exemple.

D'un autre côté, un distributeur de CD-ROM pourra facilement vérifier la licence de chacun des paquets de la section non-free et les intégrer si cela lui est autorisé (dans la mesure où cela varie énormément d'un distributeur à l'autre, ce travail ne peut être fait par les développeurs Debian).

Le terme « section » est également utilisé pour faire référence aux catégories (par exemple admin, net, utils etc.), ce qui simplifie l'organisation des paquets disponibles et leur recherche. Il fut un temps où ces sections (ou plutôt sous-sections) existaient sous forme de sous-répertoires dans l'archive Debian. Maintenant, elles n'existent plus que dans le champ en-tête Section des paquets.

4.6.2. Architectures

À ses débuts, le noyau Linux existait seulement pour les architectures Intel i386 (et compatible) ; il en était de même pour Debian. Linux devenant de plus en plus populaire, le noyau a été porté vers d'autres architectures et Debian a commencé à les gérer. Comme si la gestion de nombreuses nouvelles architectures ne suffisait pas, Debian a décidé de construire des portages sur d'autres noyaux de type Unix, comme hurd et kfreebsd.

Debian GNU/Linux 1.3 était disponible uniquement pour i386. Debian 2.0 gérait les architectures i386 and m68k. Debian 2.1 gérait les architectures i386, m68k, alpha, et sparc. Depuis, Debian a considérablement évolué. Debian 6 gère un total de neuf architectures Linux (amd64, armel, i386, ia64, mips, mipsel, powerpc, s390 et sparc) et deux architectures kFreeBSD (kfreebsd-i386 et kfreebsd-amd64).

Pour chaque portage, des informations destinées aux développeurs et utilisateurs sont disponibles sur les pages de portages Debian.

4.6.3. Paquets

Il existe deux types de paquets Debian : les paquets sources et les paquets binaires.

Suivant son format, le paquet source peut être constitué d'un ou plusieurs fichiers en plus du fichier obligatoire .dsc :

  • soit un fichier .tar.gz, soit un fichier .orig.tar.gz et un fichier .diff.gz pour le format « 1.0 » ;

  • obligatoirement l'archive amont .orig.tar.{gz,bz2,xz}, éventuellement plusieurs archives amont supplémentaires .orig-composant.tar.{gz,bz2,xz} et l'archive debian obligatoire debian.tar.{gz,bz2,xz} pour le format « 3.0 (quilt) » ;

  • une seule archive .tar.{gz,bz2,xz} pour le format « 3.0 (native) ».

Si un paquet est développé spécifiquement pour le projet Debian et n'est pas distribué en dehors, il n'y a qu'un fichier .tar.{gz,bz2,xz} qui contient les sources du programme, il est appelé paquet source « natif » (« native »). Si un paquet est distribué ailleurs aussi, le fichier .orig.tar.{gz,bz2,xz} contient ce que l'on appelle le code source amont, c'est-à-dire, le code source distribué par le responsable amont (il s'agit souvent de l'auteur du logiciel). Dans ce cas, le fichier .diff.gz ou debian.tar.{gz,bz2,xz} contient les modifications faites par le responsable Debian.

Le fichier .dsc liste tous les fichiers sources avec leurs sommes de contrôle (md5sums) et quelques informations supplémentaires concernant le paquet (responsable, version, etc.).

4.6.4. Distributions

L'organisation des répertoires présentée précédemment est elle-même contenue dans les répertoires de distributions. Chaque distribution est en fait incluse dans le répertoire pool à la racine de l'archive Debian.

Pour résumer, une archive Debian a un répertoire racine sur un serveur FTP. Par exemple, sur le site miroir ftp.fr.debian.org, l'archive Debian se trouve dans /debian qui est un emplacement courant (un autre emplacement courant est /pub/debian).

Une distribution est composée de paquets source et binaires, et des fichiers Sources et Packages correspondants, qui contiennent toutes les méta-informations sur les paquets. Les premiers sont dans le répertoire pool/ tandis que les seconds sont dans le répertoire dists/ de l'archive (pour compatibilité descendante).

4.6.4.1. Stable, testing, et unstable

Il existe toujours une distribution appelée stable (dans le répertoire dists/stable), une distribution appelée testing (dans le répertoire dists/testing), et une distribution appelée unstable (dans le répertoire dists/unstable). Ceci reflète le processus de développement du projet Debian.

Les développements se font sur la distribution unstable (c'est pourquoi elle est aussi appelée distribution de développement). Chaque développeur Debian peut modifier ses paquets à tout moment dans cette distribution. Ainsi son contenu change tous les jours. Comme aucun effort particulier n'est fait pour s'assurer que tout fonctionne correctement dans cette distribution, elle est parfois littéralement « instable ».

La distribution testing est générée automatiquement en prenant les paquets d'unstable s'ils satisfont à certains critères. Ces critères devraient garantir la bonne qualité des paquets de testing. La mise à jour de testing est effectuée deux fois par jour après l'installation des nouveaux paquets. Voir Section 5.13, « La distribution testing ».

Après une période de développement, quand l'équipe de publication (« release team ») le juge opportun, la distribution testing est gelée, ce qui signifie que les conditions à remplir pour qu'un paquet passe d'unstable à testing sont durcies. Les paquets trop bogués sont supprimés et les seules mises à jours autorisées concernent les corrections de bogues. Après quelque temps, selon l'avancement, la distribution testing est gelée encore plus. Les détails de la gestion de la distribution testing sont publiées par l'équipe de publication sur la liste debian-devel-announce. Une fois les derniers problèmes résolus de façon satisfaisante pour l'équipe de publication, la distribution est publiée. La publication signifie que testing est renommée en stable, une nouvelle copie est créée pour la nouvelle testing, et l'ancienne stable est renommée en oldstable et y reste jusqu'à ce qu'elle soit finalement archivée. Lors de l'archivage, son contenu est déplacé sur archive.debian.org.

Ce cycle de développement est basé sur l'idée que la distribution unstable devient stable après une période de test dans testing. Une distribution contient inévitablement des bogues, même si elle est classée stable. C'est pourquoi la distribution stable est mise à jour de temps en temps. Les corrections introduites sont testées avec une grande attention et sont ajoutées une à une à l'archive pour diminuer les risques d'introduire de nouveaux bogues. Vous pouvez trouver les paquets proposés pour la prochaine mise à jour de stable dans le répertoire proposed-updates. De temps en temps, ces paquets du répertoire proposed-updates qui n'introduisent pas de régression sont installés ensemble dans la distribution stable et le numéro de révision de cette distribution est incrémenté (« 6.0 » devient « 6.0.1 », « 5.0.7 » devient « 5.0.8 » et ainsi de suite). Veuillez vous référer aux envois dans la distribution stable pour plus de détails.

Pendant la période de gel, les développements continuent sur la distribution unstable car cette distribution reste en place parallèlement à testing.

4.6.4.2. Informations complémentaires sur la distribution testing

Les paquets sont habituellement installés dans la distribution testing après avoir subi suffisamment de tests dans unstable.

Pour plus de détails, veuillez consulter les informations à propos de la distribution testing.

4.6.4.3. Experimental

La distribution experimental est particulière. Ce n'est pas une distribution à part entière comme le sont stable, testing et unstable. Elle sert de plate-forme de développement pour les projets expérimentaux qui risquent vraiment de détruire le système ou pour des logiciels vraiment trop instables pour être inclus dans la distribution unstable (mais pour lesquels une mise en paquet est justifiée). Les utilisateurs qui téléchargent et installent des paquets d'experimental sont prévenus : on ne peut pas faire confiance à la distribution experimental.

Voici les lignes de sources.list(5) pour experimental :

deb http://ftp.xy.debian.org/debian/ experimental main
deb-src http://ftp.xy.debian.org/debian/ experimental main

Si un logiciel peut causer des dégâts importants, il sera sûrement préférable de le mettre dans la distribution experimental. Un système de fichiers compressé expérimental, par exemple, devrait probablement aller dans experimental.

Une nouvelle version amont de paquet qui introduit de nouvelles fonctions tout en supprimant de nombreuses autres ne devra pas être ajoutée à l'archive Debian, elle pourra cependant être ajoutée à experimental. Une nouvelle version non finalisée d'un logiciel qui utilise une méthode de configuration complètement différente pourrait aller dans experimental au gré du responsable. Si vous travaillez sur un cas de mise à niveau complexe ou incompatible, vous pouvez aussi utiliser experimental comme plate-forme d'intégration et ainsi fournir un accès aux testeurs.

Quelques logiciels expérimentaux peuvent cependant aller dans unstable, avec un avertissement dans la description, mais ce n'est pas recommandé car les paquets d'unstable se propagent dans testing et aboutissent dans stable. Vous ne devriez pas avoir peur d'utiliser experimental car ceci ne cause aucun souci aux responsables de l'archive (« ftpmasters »), les paquets expérimentaux sont périodiquement enlevés quand vous envoyez le paquet dans unstable avec un numéro de version supérieur.

Un nouveau logiciel qui ne risque pas d'endommager le système ira directement dans unstable.

Une solution de rechange à experimental consiste à utiliser vos pages personnelles sur le serveur people.debian.org.

4.6.5. Noms de code des distributions

Chaque distribution Debian diffusée a un nom de code : Debian 1.1 s'appelle Buzz ; Debian 1.2, Rex ; Debian 1.3, Bo ; Debian 2.0, Hamm ; Debian 2.1, Slink ; Debian 2.2, Potato ; Debian 3.0, Woody ; Debian 3.1, Sarge ; Debian 4.0, Etch ; Debian 5.0, Lenny ; Debian 6.0, Squeeze et la prochaine publication sera appelée Wheezy. Il existe aussi une « pseudo-distribution » nommée Sid, il s'agit de la distribution unstable ; comme les paquets sont déplacés d'unstable vers testing quand ils sont suffisamment stables, la distribution Sid n'est jamais publiée. En plus du contenu habituel d'une distribution Debian, Sid contient des paquets pour des architectures qui ne sont pas encore officiellement prises en charge ou pour lesquelles la distribution n'a pas encore été publiée. Ces architectures seront intégrées ultérieurement à la distribution principale.

Comme Debian est un projet de développement ouvert (où tout le monde peut participer et suivre les développements), même les distributions unstable et testing sont disponibles sur les serveurs HTTP et FTP de Debian. Si nous avions nommé le répertoire qui contient la future distribution « testing », il aurait fallu changer son nom en « stable » au moment de la publication, ce qui aurait forcé les miroirs FTP à télécharger de nouveau la distribution complète (qui est plutôt volumineuse).

D'un autre côté, si une distribution s'appelait Debian-x.y dès le départ, des personnes pourraient s'imaginer que la version x.y de Debian est disponible. (Cela s'est produit par le passé : un distributeur avait gravé un CD-ROM Debian 1.0 en utilisant une version de développement pré-1.0. C'est pour cette raison que la première version officielle était la version 1.1 et non la 1.0.)

En conséquence, les noms de répertoire de distribution dans l'archive sont déterminés par leur nom de code plutôt que par leur état de publication (« squeeze » par exemple). Ces noms sont identiques pendant la période de développement et une fois la distribution diffusée ; des liens symboliques, qui peuvent être modifiés facilement, indiquent la distribution stable actuelle. Tout ceci explique pourquoi les répertoires des distributions sont nommés à partir des noms de code des distributions alors que stable, testing, et unstable sont des liens symboliques qui pointent vers les répertoires appropriés.

4.7. Miroirs Debian

Les différentes archives de téléchargement et le site web disposent de plusieurs miroirs pour soulager les serveurs principaux d'une charge importante. En fait, certains serveurs principaux ne sont pas publics — la charge est répartie sur une première série de serveurs. De cette façon, les utilisateurs ont toujours accès aux miroirs et s'y habituent, ce qui permet à Debian de mieux répartir les besoins en bande passante sur plusieurs serveurs et réseaux, et évite aux utilisateurs de surcharger l'emplacement primaire. Dans cette première série, les serveurs sont aussi à jour que possible car la mise à jour est déclenchée par les sites maîtres internes.

Toutes les informations sur les miroirs Debian peuvent être trouvées sur http://www.debian.org/mirror/, y compris une liste des miroirs publics disponibles par FTP et HTTP. Cette page utile inclut également des informations et des outils pour créer son propre miroir, en interne ou pour un accès public.

Les miroirs sont souvent mis en œuvre par des tiers qui veulent aider Debian. C'est pourquoi les développeurs n'ont en général pas de compte sur ces machines.

4.8. Système « Incoming »

Le système « Incoming » est responsable de la collecte des paquets mis à jour et leur installation dans l'archive Debian. Il est constitué d'un ensemble de répertoires et de scripts sur ftp-master.debian.org.

Les paquets sont envoyés par tous les responsables Debian dans un répertoire nommé UploadQueue. Ce répertoire est parcouru toutes les quelques minutes par un démon appelé queued, les fichiers *.command sont exécutés et les fichiers *.changes restants et correctement signés sont déplacés avec leurs fichiers correspondants dans le répertoire unchecked. Ce répertoire n'est pas visible pour la plupart des développeurs car ftp-master est à accès restreint ; il est parcouru toutes les 15 minutes par le script dak process-upload qui vérifie l'intégrité des paquets envoyés et leurs signatures numériques. Si le paquet est considéré comme prêt à être installé, il est déplacé dans le répertoire done. S'il s'agit du premier envoi du paquet (ou s'il a de nouveaux paquets binaires), il est déplacé dans le répertoire new où il attend l'approbation des responsables de l'archive. Si le paquet contient des fichiers devant être installés manuellement, il est déplacé dans le répertoire byhand où il attend une installation manuelle par les responsables de l'archive. Sinon, quand une erreur a été détectée, le paquet est refusé et déplacé dans le répertoire reject.

Une fois le paquet accepté, le système envoie une confirmation par courrier au responsable et ferme les bogues corrigés. Ensuite, les compilateurs automatiques peuvent commencer leur travail. À ce moment, le paquet est accessible sur http://incoming.debian.org/ avant d'être vraiment installé dans l'archive Debian. Cette opération se produit quatre fois par jour (elle est aussi appelée « dinstall run » pour des raisons historiques) ; le paquet est alors supprimé de incoming et installé dans le pool avec les autres paquets. Une fois toutes les autres mises à jour (fabrication des nouveaux fichiers d'index Packages et Sources par exemple) effectuées, un script spécifique déclanche la mise à jour les miroirs primaires.

Le logiciel de maintenance de l'archive enverra également le fichier .changes signé avec OpenPGP/GnuPG à la liste de diffusion appropriée. Pour un paquet avec le champ Distribution à « stable », l'annonce sera envoyée à . Pour un paquet avec le champ Distribution à « unstable » ou « experimental », l'annonce sera envoyée à .

Bien que ftp-master soit à accès restreint, une copie de l'installation est disponible à tous les développeurs sur ries.debian.org.

4.9. Informations sur un paquet

4.9.1. Sur le web

Chaque paquet a plusieurs pages web dédiées. http://packages.debian.org/nom-de-paquet affiche chaque version du paquet disponible dans les différentes distributions. Les informations détaillées par version comme la description du paquet, les dépendances et des liens pour télécharger le paquet.

Le système de suivi des bogues trie les bogues par paquet. Les bogues de chaque paquet sont disponibles sur http://bugs.debian.org/nom-de-paquet.

4.9.2. Utilitaire dak ls

dak ls fait partie de la suite dak (« Debian Archive Kit ») et liste les versions disponibles de paquet pour toutes les distributions et architectures connues. L'outil dak est disponible sur ftp-master.debian.org et sur le miroir ries.debian.org. Il utilise un seul paramètre qui correspond au nom du paquet. Un exemple vaut mieux qu'un long discours :

$ dak ls evince
evince | 0.1.5-2sarge1 |     oldstable | source, alpha, arm, hppa, i386, ia64, m68k, mips, mipsel, powerpc, s390, sparc
evince |    0.4.0-5 |     etch-m68k | source, m68k
evince |    0.4.0-5 |        stable | source, alpha, amd64, arm, hppa, i386, ia64, mips, mipsel, powerpc, s390, sparc
evince |   2.20.2-1 |       testing | source
evince | 2.20.2-1+b1 |       testing | alpha, amd64, arm, armel, hppa, i386, ia64, mips, mipsel, powerpc, s390, sparc
evince |   2.22.2-1 |      unstable | source, alpha, amd64, arm, armel, hppa, i386, ia64, m68k, mips, mipsel, powerpc, s390, sparc

Dans cet exemple, on peut voir que la version dans unstable n'est pas la même que dans testing où seul le binaire a été mis à jour indépendamment (« binary-only NMU ») pour toutes les architectures. Chaque version du paquet a été recompilé sur toutes les architectures.

4.10. Système de suivi des paquets (PTS)

Le système de suivi des paquets (« Package Tracking System » ou PTS) est un outil de suivi par courrier de l'activité d'un paquet source. Cela signifie que l'on peut vraiment recevoir les mêmes courriers que le responsable, simplement en s'inscrivant au paquet dans le PTS.

Chaque courrier envoyé par le PTS est classé sous l'un des mots-clés listés ci-dessous. Ceci permet de sélectionner les courriers à recevoir.

Par défaut, sont reçus :

bts

tous les rapports de bogue et les discussions qui suivent ;

bts-control

les courriers d'information de lors des changements d'état de rapport de bogue ;

upload-source

le courrier d'information de dak quand un paquet source est accepté ;

katie-other

les autres courriers d'avertissement et d'erreur de dak (comme une incohérence de modification des champs de section ou de priorité) ;

buildd

les courriers d'information envoyées par le réseau des démons de compilation, qui mentionnent un lien vers les journaux de compilation afin de les analyser ;

default

tout courrier non automatique envoyé au PTS pour contacter les inscrits au paquet. Ceci peut être fait en envoyant un courrier à paquet-source@packages.qa.debian.org. Pour prévenir l'envoi de pourriels, tous les courriers envoyés à ces adresses doivent contenir l'en-tête X-PTS-Approved avec une valeur non vide ;

contact

les courriers envoyés au responsable via l'alias *@packages.debian.org ;

summary

les courriers de résumé réguliers sur l'état du paquet, comme la progression du paquet dans testing, les notifications de l'état de santé extérieur à Debian (« Debian External Health Status » ou DEHS) lors qu'une nouvelle version amont est disponible, et la notification si un paquet est enlevé de l'archive ou orphelin.

Il est également possible de recevoir des informations supplémentaires :

upload-binary

les courriers d'information de katie quand un paquet binaire est accepté. En d'autres termes, à chaque fois qu'un démon de compilation ou un porteur envoie le paquet pour une architecture, un courrier est envoyé ce qui permet de suivre comment le paquet est recompilé pour toutes les architectures ;

cvs

les annonces de nouvelle révision dans le système de gestion de versions (« VCS commit »), si le paquet est maintenu avec un tel système et que le responsable a mis en place un suivi de révisions vers le PTS. Le nom cvs est historique, la plupart du temps les notifications de révision proviendront d'autres logiciels de gestion de versions comme Subversion ou Git ;

ddtp

les traductions de descriptions ou de questionnaires debconf soumis au projet de traduction des descriptions de paquets (« Debian Description Translation Project » ou DDTP ;

derivatives

des informations sur les changements effectués sur le paquet dans les distributions dérivées (Ubuntu par exemple).

derivatives-bugs

les rapports de bogue et leurs commentaires dans les distributions dérivées (Ubuntu par exemple).

4.10.1. Interface de courrier du PTS

Les inscriptions au PTS peuvent être administrées en envoyant différentes commandes à .

subscribe <paquet-source> [<adresse>]

Inscrit l'adresse aux communications liées au paquet source paquet-source. L'adresse de l'expéditeur est utilisée si le second paramètre n'est pas présent. Si paquet-source n'est pas un paquet source valable, vous recevrez un avertissement. Cependant, s'il s'agit d'un paquet binaire valable, le PTS vous inscrira pour le paquet source correspondant.

unsubscribe <paquet-source> [<adresse>]

Supprime une inscription au paquet source paquet-source en utilisant l'adresse spécifiée ou l'adresse de l'expéditeur si le second paramètre n'est pas rempli.

unsubscribeall [<adresse>]

Supprime toutes les inscriptions de l'adresse spécifiée ou de l'adresse de l'expéditeur si le second paramètre n'est pas rempli.

which [<adresse>]

Liste les inscriptions pour l'expéditeur ou pour l'adresse indiquée si elle est spécifiée.

keyword [<adresse>]

Donne les mots-clés acceptés. Pour une explication de ces mots-clés, voir ci-dessus. Voici un rapide résumé :

  • bts : courriers venant du système de gestion de bogues (BTS) Debian ;

  • bts-control : réponses aux courriers envoyés à  ;

  • summary ; courriers de résumé automatique sur l'état d'un paquet ;

  • contact ; courriers envoyés au responsable via l'alias *@packages.debian.org ;

  • cvs : annonces de nouvelle révision (« VCS commit ») ;

  • ddtp : traductions des descriptions et questionnaires debconf ;

  • derivatives : changements effectués dans des distributions dérivées ;

  • derivatives-bugs : rapports de bogue et leurs commentaires dans les distributions dérivées ;

  • upload-source : annonce lorsqu'un nouveau paquet source a été accepté ;

  • upload-binary : annonce lorsqu'un nouveau paquet binaire a été accepté ;

  • katie-other : autres courriers des responsables de l'archive (incohérence de modification des champs, etc.) ;

  • buildd: notifications d'erreur des démons de compilation ;

  • default : tout autre courrier (non automatique).

keyword <paquet-source> [<adresse>]

Identique à l'élément précédent, mais pour un paquet source donné car il est possible de sélectionner un ensemble de mots-clés différent pour chaque paquet source.

keyword [<adresse>] {+|-|=} <liste de mots-clés>

Accepte (+) ou refuse (-) les courriers classés dans la liste de mots-clés. Définit la liste (=) des mots-clés acceptés. Ceci change l'ensemble par défaut des mots-clés acceptés par un utilisateur.

keywordall [<adresse>] {+|-|=} <liste de mots-clés>

Accepte (+) ou refuse (-) les courriers classés dans la liste de mots-clés. Définit la liste (=) des mots-clés acceptés. Ceci change les mots-clés de toutes les inscriptions en cours d'un utilisateur.

keyword <sourcepackage> [<adresse>] {+|-|=} <liste de mots-clés>

Identique à l'élément précédent, mais remplace la liste des mots-clés pour le paquet source indiqué.

quit | thanks | --

Arrête le traitement des commandes. Toutes les lignes suivantes sont ignorées par le robot.

L'utilitaire en ligne de commande pts-subscribe (du paquet devscripts) peut être pratique pour s'inscrire temporairement à certains paquets, par exemple après avoir fait une mise à jour indépendante (NMU).

4.10.2. Filtrer les courriers du PTS

Une fois inscrit à un paquet, vous recevrez les courriers envoyés à paquet-source@packages.qa.debian.org. Ces courriers ont des en-têtes spéciaux ajoutés pour vous permettre de les filtrer dans des boîtes aux lettres (avec procmail par exemple). Les en-têtes ajoutés sont X-Loop, X-PTS-Package, X-PTS-Keyword et X-Unsubscribe.

Voici un exemple d'en-têtes ajoutés pour une notification d'envoi de source sur le paquet dpkg :

X-Loop: dpkg@packages.qa.debian.org
X-PTS-Package: dpkg
X-PTS-Keyword: upload-source
List-Unsubscribe: <mailto:pts@qa.debian.org?body=unsubscribe+dpkg>

4.10.3. Faire suivre les annonces de révision vers le PTS

Si vous utilisez un système de gestion de versions accessible publiquement pour maintenir votre paquet Debian, vous pouvez faire suivre les notifications de modifications vers le PTS pour que les inscrits (ainsi que de possibles co-responsables) puissent suivre de près l'évolution du paquet.

Une fois le système de gestion de versions configuré pour générer des notifications de modifications, il suffit d'en envoyer une copie à paquet-source_cvs@packages.qa.debian.org. Seules les personnes ayant accepté le mot-clé cvs recevront les notifications. Si le message n'est pas envoyé depuis une machine du domaine debian.org, il faut ajouter l'en-tête X-PTS-Approved: 1.

Pour les dépôts Subversion, il est conseillé d'utiliser svnmailer. Voir http://wiki.debian.org/Alioth/PackagingProject pour un exemple de mise en place.

4.10.4. Interface web du PTS

Le PTS possède une interface web sur http://packages.qa.debian.org/ qui réunit beaucoup d'informations pour chaque paquet source. Plusieurs liens utiles sont proposés (BTS, statistiques QA, informations de contact, état de traduction DDTP, journaux de compilation automatique) et beaucoup d'autres informations provenant de différents endroits sont regroupés (les 30 dernières entrées de changelog, l'état dans testing, etc.). C'est un outil très pratique pour connaître ce qu'il en est d'un paquet source spécifique. De plus, un formulaire permet de s'inscrire facilement au PTS par courrier.

Il est possible d'aller directement à la page web concernant un paquet source avec une URL comme http://packages.qa.debian.org/paquet-source.

Cette interface a été conçue comme un portail pour le développement des paquets : vous pouvez ajouter du contenu personnalisé aux pages de vos paquets. Vous pouvez ajouter des informations statiques (« static information » : annonces destinées à rester disponibles indéfiniment) et des nouvelles récentes (« latest news »).

Les annonces statiques peuvent être utilisées pour indiquer :

  • la disponibilité d'un projet hébergé sur Alioth pour la co-maintenance du paquet ;

  • un lien vers le site web amont ;

  • un lien vers le suivi de bogues amont ;

  • l'existence d'un canal IRC dédié au logiciel ;

  • toute autre ressource disponible éventuellement utile à la maintenance du paquet.

Les nouvelles usuelles peuvent être utilisées pour annoncer que :

  • des paquets bêta sont disponibles pour tester ;

  • des paquets finaux sont attendus pour la semaine prochaine ;

  • l'empaquetage est sur le point d'être intégralement refait ;

  • des rétroportages sont disponibles ;

  • le responsable est en vacances (s'il désire publier cette information) ;

  • une mise à jour indépendante (NMU) est en cours de réalisation ;

  • quelque chose d'important va affecter le paquet.

Les deux types d'informations sont fabriqués de façon similaire : il suffit d'envoyer un courrier à (pour les annonces statiques) ou (pour les nouvelles usuelles). Le courrier devrait indiquer quel paquet est concerné par la nouvelle en donnant le nom du paquet source dans un en-tête de courrier X-PTS-Package ou un pseudo-en-tête Package (comme pour les rapports de bogue du BTS). Si une URL est disponible dans l'en-tête de courrier X-PTS-Url ou dans un pseudo-en-tête Url, le résultat est un lien vers cette URL au lieu d'une nouvelle complète.

Voici quelques exemples de courriers valables utilisés pour générer des nouvelles dans le PTS. Le premier ajoute un lien vers l'interface viewsvn de debian-cd dans la section des informations statiques :

From: Raphael Hertzog <hertzog@debian.org>
To: pts-static-news@qa.debian.org
Subject: Browse debian-cd SVN repository

Package: debian-cd
Url: http://svn.debian.org/viewsvn/debian-cd/trunk/

Le second est une annonce envoyée à une liste de diffusion et également envoyée au PTS pour qu'elle soit publiée sur la page web du PTS du paquet. Notez l'utilisation du champ BCC pour éviter que des réponses ne soient envoyées par erreur au PTS.

From: Raphael Hertzog <hertzog@debian.org>
To: debian-gtk-gnome@lists.debian.org
Bcc: pts-news@qa.debian.org
Subject: Galeon 2.0 backported for woody
X-PTS-Package: galeon

Hello gnomers!

I'm glad to announce that galeon has been backported for woody. You'll find
everything here:
...

Réfléchissez-y à deux fois avant d'ajouter une nouvelle au PTS car vous ne pourrez pas l'enlever par la suite et vous ne pourrez pas non plus la modifier. La seule chose que vous puissiez faire est d'envoyer une deuxième nouvelle qui va rendre la première obsolète.

4.11. Vue d'ensemble des paquets d'un développeur

Un portail web pour l'assurance qualité (« quality assurance » ou QA) sur http://qa.debian.org/developer.php affiche un tableau de tous les paquets d'un développeur (y compris ceux pour lesquels il est co-responsable). Le tableau donne un bon résumé sur les paquets d'un développeur : nombre de bogues par gravité, liste des versions disponibles, état des tests et des liens vers d'autres informations utiles.

C'est une bonne idée de vérifier régulièrement vos données pour ne pas oublier de bogues ouverts et quels paquets sont sous votre responsabilité.

4.12. FusionForge pour Debian : Alioth

Alioth est un service de Debian basé sur une version légèrement modifiée du logiciel FusionForge (qui a évolué à partir de SourceForge et GForge). Ce logiciel offre aux développeurs l'accès à des outils faciles d'utilisation comme un gestionnaire de suivi de bogues, un gestionnaire de correctifs, un gestionnaire de tâches et de projets, un service d'hébergement de fichiers, des listes de diffusion, des systèmes de gestion de versions, etc. Tous ces outils sont gérés à l'aide d'une interface web.

Alioth a pour but de fournir une infrastructure pour des projets de logiciels libres soutenus ou dirigés par Debian, de faciliter les contributions de développeurs externes aux projets initiés par Debian et d'aider des projets dont les buts sont de promouvoir Debian ou ses dérivés. Il est largement utilisé par de nombreuses équipes et fournit l'hébergement pour toutes sortes de systèmes de gestion de versions.

Tous les développeurs Debian ont automatiquement un compte sur Alioth. Ils peuvent l'activer en utilisant la fonctionnalité de récupération des mots de passe. Les développeurs externes peuvent demander un compte invité sur Alioth.

Des informations supplémentaires sont disponibles sur les liens suivants :

4.13. Avantages pour les développeurs

4.13.1. Abonnements à LWN

Depuis octobre 2002, HP parraine l'abonnement à LWN pour tous les développeurs Debian intéressés. Des détails sur les moyens d'accéder à cet avantage sont expliqués dans le message http://lists.debian.org/debian-devel-announce/2002/10/msg00018.html.

4.13.2. Remise sur l'hébergement Gandi.net

Depuis Novembre 2008, Gandi.net offre une remise sur leurs serveur dédié virtuel pour les développeurs Debian : http://lists.debian.org/debian-devel-announce/2008/11/msg00004.html.