[ précédent ] [ Table des matières ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ A ] [ suivant ]

Référence du développeur Debian
Chapitre 4 - Ressources pour le responsable Debian


Dans ce chapitre, vous trouverez une brève description des listes de diffusion, des machines Debian qui seront à votre disposition en tant que responsable Debian ainsi que toutes les autres ressources à votre disposition pour vous aider dans votre travail de responsable.


4.1 Les listes de diffusion

Le serveur de liste de diffusion est lists.debian.org.

Les archives des listes de diffusion sont consultables à http://lists.debian.org/.


4.1.1 Principales listes pour les responsables

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

Il existe d'autres listes de diffusion spécialisées dans différents thèmes. Reportez-vous à la page http://www.debian.org/MailingLists/subscribe pour en obtenir la liste complète.


4.1.2 S'abonner et se désabonner

Pour vous abonner ou vous désabonner de n'importe quelle liste, envoyez un courrier électronique à debian-foo-REQUEST@lists.debian.org, où debian-foo est le nom de la liste[7], avec le mot subscribe dans le champ Objet[8] pour vous abonner à la liste ou unsubscribe pour vous désabonner.

Si vous préférez utiliser une page web pour vous inscrire à plusieurs listes, celle-ci se trouve à l'adresse http://www.debian.org/MailingLists/subscribe.

Vous pouvez télécharger la liste des listes de diffusion et quelques instructions depuis http://ftp.debian.org/debian/doc/mailing-lists.txt ou installer le paquet doc-debian et en disposer localement dans le fichier /usr/share/doc/debian/mailing-lists.txt.


4.1.3 Règles d'usage simple

Lorsque vous répondez aux messages d'une liste de diffusion, n'envoyez pas de copie (CC) à l'auteur du courrier à moins qu'il ne l'ait demandé explicitement. Celui qui envoie un message à une liste de diffusion se doit d'y lire les réponses.

La multi-diffusion (envoyer le même message à plusieurs listes) est déconseillée. Comme toujours sur Internet, veuillez réduire le texte cité des messages auxquels vous répondez. En général, veuillez adhérer aux conventions usuelles d'envoi de messages.

Veuillez lire le code de conduite pour plus d'informations.


4.1.4 Listes spéciales

debian-private@lists.debian.org est une liste de diffusion destinée aux discussions privées entre développeurs Debian. Elle doit être utilisée pour tout message qui ne doit pas être publié, quelle qu'en soit la raison. C'est une liste à faible trafic et les utilisateurs sont priés de ne l'utiliser qu'en cas de réelle nécessité. De plus, il ne faut jamais faire suivre un courrier de cette liste à qui que ce soit. Pour des raisons évidentes, les archives de cette liste ne sont pas disponibles sur la toile. Vous pouvez les consulter en visitant le répertoire ~debian/archive/debian-private avec votre compte sur lists.debian.org.

debian-email@lists.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 amonts à propos de licences, de bogues ou encore des discussions sur le projet avec d'autres personnes.


4.2 Canaux IRC

Plusieurs canaux IRC sont dédiés au développement Debian. Ils sont principalement hébergés sur le réseau freenode (anciennement connu sous le nom de Open Projects Network). L'entrée DNS irc.debian.org est simplement un alias vers irc.freenode.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 Debian est #debian-devel. C'est un canal très actif avec habituellement plus de 150 personnes 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 toujours rempli d'informations intéressantes.

Comme #debian-devel est un canal ouvert, vous ne devriez pas y parler de problèmes discutés sur debian-private@lists.debian.org. Il existe un canal protégé par clé #debian-private dans ce but. La clé est disponible dans les archives de debian-private à master.debian.org:~debian/archive/debian-private/, effectuez simplement un zgrep avec #debian-private dans tous les fichiers.

Il existe d'autres canaux dédiés à des sujets spécifiques. #debian-bugs est utilisé pour la coordination des chasses aux bogues. #debian-boot est utilisé pour la coordination du travail sur les disquettes de démarrage (i.e., l'installeur). #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-bsd, #debian-kde, #debian-jr, #debian-edu, #debian-sf (paquet SourceForge), #debian-oo (paquet OpenOffice), etc.

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

Il existe également des canaux dédiés pour Debian sur d'autres réseaux IRC, notamment sur le réseau IRC Open and free technology community (OFTC).


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

Dans l'ensemble, vous pouvez faire usage de ces machines pour des buts relatifs à Debian comme vous l'entendez. Veuillez cependant être gentil avec les administrateurs système et ne pas utiliser de grandes quantités d'espace disque, de ressource réseau ou CPU sans obtenir auparavant l'accord des administrateurs. Habituellement, ces machines sont administrées par des volontaires.

Veuillez prendre soin de votre mot 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 l'Internet comme telnet, FTP, POP, etc.

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

La liste actuelle des machines Debian est disponible à http://db.debian.org/machines.cgi. Cette page web contient les noms des machines, les informations de contact, les informations sur qui peut s'y connecter, les clés SSH, etc.

Si vous avez un problème en utilisant un serveur Debian et si vous estimez que les administrateurs système devraient en être avertis, l'équipe des administrateurs système peut être jointe à debian-admin@lists.debian.org.

Si votre problème est lié à un certain service ou n'est pas lié au système (paquet à supprimer de l'archive ou suggestion pour le site web par exemple), il vous faudra en général ouvrir un rapport de bogue sur un « pseudo-paquet ». Reportez-vous à la section Rapporter des bogues, Section 7.1 pour connaître la procédure à suivre.


4.4.1 Le serveur pour les rapports de bogues

bugs.debian.org est le serveur maître du système de suivi des bogues (BTS[9]). Si vous envisagez de manipuler les rapports de bogue ou d'en faire une analyse statistique, ce sera le bon endroit pour le faire. Informez la liste debian-devel@lists.debian.org de votre intention avant d'implémenter quoi que ce soit afin d'éviter un travail en double ou un gaspillage de temps machine.

Tous les développeurs Debian ont un compte sur bugs.debian.org.


4.4.2 Le serveur ftp-master

Le serveur ftp-master.debian.org est le serveur maître de l'archive Debian (exception faite des paquets non-US). En général, les mises à jour de paquets se font sur ce serveur. Reportez-vous à la section Mettre à jour un paquet, Section 5.5 pour en savoir plus.

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 à ftpmaster@debian.org ; reportez-vous à la section Déplacer, effacer, changer le nom, adopter et abandonner des paquets, Section 5.8 pour connaître la procédure à suivre.


4.4.3 Le serveur non-US

Le serveur non-US non-us.debian.org est le serveur maître de la partie non-US de l'archive Debian. Si vous avez besoin d'envoyer un paquet dans l'une des sections non-US, envoyez-le vers ce serveur. Reportez-vous à la section Installer un paquet sur non-US, Section 5.5.2 pour en savoir plus.

Les problèmes avec l'archive de paquets non-US doivent généralement être rapportés comme bogues sur le pseudo-paquet nonus.debian.org (remarquez l'absence de trait d'union entre "non" et "us" dans le nom du pseudo-paquet — c'est dû à la compatibilité descendante). Rappelez-vous de vérifier si quelqu'un n'aurait pas déjà rempli un rapport de bogue concernant le problème sur le système de suivi des bogues.


4.4.4 Le serveur 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 devez généralement 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 personne ne l'a déjà rapporté avant vous.


4.4.5 Le serveur web 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-user-id/.

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

Habituellement, la seule raison pour utiliser un serveur différent est que vous avez besoin de publier des informations soumises aux restrictions d'exportation américaines, dans ce cas, vous pouvez utiliser l'un des autres serveurs situés en dehors des États-Unis, comme le serveur mentionné ci-dessus non-us.debian.org.

Veuillez envoyer un courrier à debian-devel@lists.debian.org si vous avez une question.


4.4.6 Le serveur CVS

Notre serveur CVS est situé sur cvs.debian.org.

Si vous avez besoin d'un serveur CVS accessible par tous pour, par exemple, coordonner le travail de plusieurs développeurs sur un paquet, vous pouvez demander un espace CVS sur ce serveur.

Le serveur cvs.debian.org autorise les accès CVS locaux, les accès en lecture seule pour les connexions client-serveur anonymes et les accès client-serveur complets pour les connexions ssh. L'espace CVS peut aussi être consulté par la toile à l'adresse http://cvs.debian.org/.

Pour obtenir un espace CVS, envoyez une demande à l'adresse debian-admin@debian.org en précisant le nom de l'espace, le compte Debian propriétaire du répertoire racine et pourquoi vous en avez besoin.


4.5 La base de données des développeurs

La base de données des développeurs à https://db.debian.org/ est un annuaire LDAP de gestion des informations des développeurs Debian. Vous pouvez utiliser cette ressource pour rechercher la liste des développeurs Debian. Une partie de ces informations est également disponible à travers le service finger sur les serveurs Debian, essayez finger yourlogin@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 :

La plupart des informations ne sont naturellement pas accessibles publiquement. Pour plus d'informations, veuillez lire la documentation en ligne que vous pouvez trouver à http://db.debian.org/doc-general.html.

Il est également possible d'envoyer ses clés SSH pour les utiliser pour autorisation sur les machines Debian officielles et même d'ajouter de nouvelles entrées DNS du type *.debian.net. Ces fonctionnalités sont documentées à http://db.debian.org/doc-mail.html.


4.6 L'archive Debian

La distribution Debian GNU/Linux est composée d'un grand nombre de paquets (fichiers .deb : actuellement, à peu près 9000) et de quelques autres fichiers (comme la documentation et des images des disquettes d'installation).

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

     dists/stable/main/
     dists/stable/main/binary-i386/
     dists/stable/main/binary-m68k/
     dists/stable/main/binary-alpha/
          ...
     dists/stable/main/source/
          ...
     dists/stable/main/disks-i386/
     dists/stable/main/disks-m68k/
     dists/stable/main/disks-alpha/
          ...
     
     dists/stable/contrib/
     dists/stable/contrib/binary-i386/
     dists/stable/contrib/binary-m68k/
     dists/stable/contrib/binary-alpha/
          ...
     dists/stable/contrib/source/
     
     dists/stable/non-free/
     dists/stable/non-free/binary-i386/
     dists/stable/non-free/binary-m68k/
     dists/stable/non-free/binary-alpha/
          ...
     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/n/
     pool/non-free/n/netscape/
          ...

Comme vous pouvez le voir, le répertoire racine contient deux répertoires, dists/ et pool/. Le second est un ensemble de répertoires où sont stockés les paquets. Ceux-ci sont manipulés grâce à la base de données de l'archive et aux logiciels qui l'accompagnent. Le premier répertoire contient les distributions stable, testing et unstable. Les fichiers Packages et Sources qui se trouvent dans les répertoires de distribution peuvent faire référence à des fichiers du répertoire pool/. Le découpage en sous-répertoires est identique d'un répertoire de distribution à l'autre . Ce que nous exposerons ci-dessous pour la distribution stable est également applicable aux 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 sources (source/) et un répertoire pour chaque architecture acceptée (binary-i386/, binary-m68k/, etc.).

La section main contient d'autres répertoires destinés aux images de disquettes et à plusieurs documents essentiels pour installer la distribution Debian sur une architecture particulière (disk-i386/, disk-m68k/, etc.).


4.6.1 Les sections

La section main constitue la distribution Debian GNU/Linux officielle. Elle 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[10] et à toutes les autres recommandations décrites dans la charte Debian[11]. Les DFSG[12] constituent notre définition de « logiciel libre ». 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 rangés dans la section non-free. Bien que nous supportions l'usage de ces paquets et qu'ils bénéficient de nos infrastructures (système de suivi des bogues, listes de diffusion, etc.), ces paquets non-free ne font pas partie de la distribution Debian.

La charte Debian donne des définitions plus précises pour 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 serveur FTP ou sur cédé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 cédérom pourra facilement vérifier la licence de chacun des paquets de la section non-free et inclure tous les paquets qu'il lui sera 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).

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


4.6.2 Les architectures

À ses débuts, le noyau Linux existait uniquement pour les architectures Intel x86 ; il en était de même pour Debian. Linux devenant de plus en plus populaire, il a été porté vers d'autres architectures.

Le noyau 2.0 existe pour les architectures Intel x86, DEC Alpha, SPARC, Motorola, 680x0 (Atari, Amiga, et Macintosh), MIPS et PowerPC. Le noyau 2.2 reconnaît de nouvelles architectures, comme ARM et UltraSPARC. Puisque Linux reconnaît ces architectures, le projet Debian a décidé qu'il devait également les accepter. C'est pourquoi plusieurs portages sont en cours ; en fait, il y a aussi des portages vers d'autres noyaux. À côté d'i386 (notre nom pour Intel x86), nous avons, au moment où j'écris, m68k, alpha, powerpc, sparc, hurd-i386, arm, ia64, hppa, s390, mips, mipsel et sh.

Debian GNU/Linux 1.3 est disponible uniquement pour i386. Debian 2.0 reconnaît les architectures i386 et m68k. Debian 2.1 reconnaît les architectures i386, m68k, alpha et sparc. Debian 2.2 accepte en plus les architectures powerpc et arm. Debian 3.0 accepte cinq nouvelles architectures : ia64, hppa, s390, mips et mipsel.

Pour chaque portage, vous trouverez des informations destinées aux développeurs et utilisateurs sur la page Portage Debian.


4.6.3 Les paquets

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

Les paquets sources sont constitués de deux ou trois fichiers : un fichier .dsc et soit un fichier .tar.gz, soit un fichier .orig.tar.gz et un fichier .diff.gz.

Si un paquet est développé spécifiquement pour le projet Debian et n'est pas distribué en dehors de Debian, il n'y a qu'un fichier .tar.gz qui contient les sources du programme. Si un paquet est distribué ailleurs, le fichier .orig.tar.gz contient ce que l'on appelle code source amont, c'est-à-dire, le code source distribué par le mainteneur amont (il s'agit souvent de l'auteur du logiciel). Dans ce cas, le fichier .diff.gz 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 Les répertoires des distributions

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

En résumant, une archive Debian a un répertoire racine sur un serveur FTP. Par exemple, sur le site miroir ftp.us.debian.org, l'archive Debian se trouve dans /debian ce qui est un emplacement courant. Un autre emplacement courant est /pub/debian.

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


4.6.4.1 Stable, testing et unstable

Il y a 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[13] (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 », Section 4.9 est générée automatiquement en prenant les paquets d'unstable s'ils satisfont à certains critères. Ces critères garantissent que les paquets de testing sont de bonne qualité. La mise à jour de testing est lancée chaque jour après que les nouveaux paquets ont été installés.

Après une période de développement, quand le responsable de distribution[14] 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 entre dans une phase de « gel complet » où les seules modifications acceptées concernent la procédure d'installation. Cette phase s'appelle un « cycle de test » et cela peut durer jusqu'à deux semaines. Il peut y avoir plusieurs cycles de tests avant que le responsable de distribution ne la déclare prête pour la diffusion. À la fin du dernier cycle de test, la distribution frozen devient stable, remplaçant l'ancienne distribution stable qui est enlevée à cette occasion (elle peut être retrouvée à l'adresse 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 (testing). Une distribution contient inévitablement des bogues, même si elle est classée stable. C'est pourquoi les distributions stables sont mises à 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 des paquets proposés pour les mises à jour de stable dans le répertoire proposed-updates. De temps en temps, les paquets de ce répertoire qui ne présentent pas de problème sont installés dans la distribution stable et le numéro de révision de cette distribution est incrémenté (« 3.0 » devient « 3.0r1 », « 2.0r4 » devient « 2.0r5 » et ainsi de suite).

Notez que, pendant la période de gel, les développements continuent sur la distribution unstable car cette distribution reste en place.


4.6.4.2 Experimental

La distribution experimental est une distribution particulière. Ce n'est pas une distribution à part entière comme le sont stable et unstable. Elle est prévue pour servir de plate-forme de développement pour les projets expérimentaux qui risquent vraiment de détruire le système ou bien pour des logiciels qui sont 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 depuis 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/ ../project/experimental main
     deb-src http://ftp.xy.debian.org/debian/ ../project/experimental main

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

Une nouvelle version amont qui ajoute de nouvelles fonctions tout en supprimant de nombreuses autres ne devra pas être téléchargée dans l'archive Debian, elle pourra cependant être téléchargée dans 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 à jour 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 ftpmasters, les paquets expérimentaux sont automatiquement 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 alternative à experimental consiste à utiliser vos pages personnelles sur le serveur people.debian.org.


4.6.5 Les noms de distribution

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 » et Debian 3.0, « woody ». Il y a aussi une pseudo-distribution nommée « sid », il s'agit de la distribution unstable ; comme les paquets vont d'unstable à testing quand ils approchent de la stabilité, la distribution « sid » n'est jamais diffusée. En plus du contenu habituel d'une distribution Debian, « sid » contient des paquets pour des architectures qui ne sont pas encore officiellement reconnues ou pour lesquelles la distribution n'a pas encore été diffusée. Ces architectures seront intégrées ulterieurement à la distribution principale.

Comme Debian est un projet de développement ouvert (i.e. 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 prochaine distribution à diffuser « testing », il aurait fallu changer son nom en « stable » au moment de la diffusion, ce qui aurait forcé les miroirs FTP à télécharger à 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 distribution Debian x.y est disponible. (Cela s'est produit par le passé, un distributeur avait gravé des cédéroms 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 des distributions dans l'archive sont déterminés par leur nom de code et non par leur statut (exemple : slink). 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 Les 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 lourde charge. En fait, certains de ces serveurs ne sont pas publics et 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 plusieurs réseaux différents et évitent aux utilisateurs de surcharger l'emplacement primaire. Notez que, 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 à http://www.debian.org/mirror/, y compris une liste des miroirs publics disponibles FTP/HTTP. Cette page utile inclut également des informations et des outils pour créer son propre miroir, soit en interne soit pour un accès public.

Les miroirs sont en général 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 Le système Incoming

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

Les paquets sont envoyés par tous les responsables Debian dans un répertoire nommé unchecked. Ce répertoire est parcouru toutes les 15 minutes par le script katie qui vérifie l'intégrité des paquets envoyés et les signatures de chiffrage. Si le paquet est considéré comme prêt à être installé, il est déplacé dans le répertoire accepted. S'il s'agit du premier envoi du paquet, il est déplacé dans le répertoire new où il attend l'approbation des ftpmasters. Si le paquet contient des fichiers devant être installés à la main, il est déplacé dans le répertoire byhand où il attend une installation manuelle par les ftpmasters. Sinon, si une erreur a été détectée, le paquet est refusé et il est déplacé dans le répertoire reject.

Une fois que le paquet est accepté, le système envoie une confirmation par courrier au responsable et ferme les bogues corrigés par l'envoi, puis les compilateurs automatiques peuvent commencer la recompilation. Le paquet est maintenant accessible publiquement à http://incoming.debian.org/ (une telle adresse n'existe pas pour les paquets de l'archive non-US) jusqu'à ce qu'il soit vraiment installé dans l'archive Debian. Ceci se produit seulement une fois par jour, le paquet est alors supprimé de Incoming et installé dans le pool avec les autres paquets. Une fois que toutes les autres mises à jour (générant des nouveaux fichiers d'index Packages et Sources par exemple) ont été effectuées, un script spécial est appelé pour demander aux miroirs primaires de se mettre à jour.

Le logiciel de maintenance de l'archive enverra également le fichier .changes signé avec OpenPGP/GnuPG que vous avez envoyé, à la liste de diffusion appropriée. Si un paquet est diffusé avec le champ Distribution: positionné à « stable », l'annonce sera envoyée à debian-changes@lists.debian.org. Si un paquet est diffusé avec le champ Distribution: positionné à « unstable » ou « experimental », l'annonce sera à la place envoyée à debian-devel-changes@lists.debian.org.

Tous les développeurs Debian ont un droit d'écriture dans le répertoire unchecked pour pouvoir y envoyer leurs paquets, ils ont également accès au répertoire reject pour supprimer les mauvais envois ou déplacer certains fichiers dans le répertoire unchecked. Mais seuls les ftpmasters ont droit d'écriture dans les autres répertoires. C'est pourquoi vous ne pouvez pas supprimer un envoi une fois qu'il a été accepté.


4.8.1 Incoming différé

Le répertoire unchecked comprend un sous-répertoire spécial, DELAYED[15]. Celui-ci est lui-même subdivisé en neuf répertoires nommés 1-day à 9-day. Les paquets qui sont envoyés dans l'un de ces répertoires seront déplacés dans le vrai répertoire unchecked après le nombre correspondant de jours. Un script, exécuté chaque jour, déplace les paquets entre les répertoires. Ceux qui sont dans « 1-day » sont installés dans unchecked alors que les autres sont déplacés dans le répertoire adjacent (par exemple, un paquet dans 5-day sera déplacé dans 4-day). Cette fonctionnalité est particulièrement utile pour les personnes qui effectuent des mises à jour indépendantes (NMU, « non-maintainer uploads »). Au lieu d'attendre avant d'envoyer la NMU, elle est envoyée dès qu'elle est prête dans l'un de ces répertoires DELAYED/x-day. Ceci laisse le nombre correspondant de jours au responsable pour réagir et envoyer lui-même une autre correction s'il n'est pas complètement satisfait par la NMU. Il peut également enlever complètement la NMU.

L'utilisation de ce délai peut être simplifiée en l'intégrant à votre outil d'envoi. Par exemple, si vous utilisez dupload (voir dupload, Section A.5.1), vous pouvez ajouter cette partie à votre fichier de configuration :

     $delay = ($ENV{DELAY} || 7);
     $cfg{'delayed'} = {
              fqdn => "ftp-master.debian.org",
              login => "yourdebianlogin",
              incoming => "/org/ftp.debian.org/incoming/DELAYED/$delay-day/",
              dinstall_runs => 1,
              method => "scpb"
     };

Une fois que vous avez fait ce changement, dupload peut être utilisé pour envoyer facilement dans l'un des répertoires de délai ainsi :

     DELAY=5 dupload --to delayed <changes-file>

4.9 La distribution « testing »

Les scripts qui mettent à jour la distribution testing sont exécutés chaque jour après l'installation des paquets mis à jour. Ils génèrent les fichiers Packages pour la distribution testing, mais ils le font d'une manière intelligente pour éviter toute incohérence et essayer de n'utiliser que des paquets sans bogue.

L'inclusion d'un paquet d'unstable est soumise aux conditions suivantes :

Pour savoir si un paquet a progressé ou non dans testing, veuillez voir la sortie du script de testing sur la page web de la distribution testing ou utilisez le programme grep-excuses inclus dans le paquet devscripts. Si l'on veut rester informé de la progression de ses paquets dans testing, on peut facilement le mettre dans la crontab(5).

Le fichier update_excuses ne donne pas toujours la raison précise pour laquelle un paquet est refusé, on peut avoir à la chercher soi-même en regardant ce qui serait cassé avec l'inclusion du paquet. La page web de la distribution testing donne plus d'informations à propos des problèmes courants qui peuvent occasionner cela.

Parfois, certains paquets n'entrent jamais dans testing parce que le jeu des inter-relations est trop compliqué et ne peut être résolu par le script. Dans ce cas, le responsable de version doit être contacté et il forcera l'inclusion du paquet.

En général, veuillez vous référer à la page web de la distribution testing pour plus d'informations. Cette page inclut également des réponses aux questions fréquemment posées.


4.10 Informations sur un paquet


4.10.1 Sur le web

Chaque paquet a plusieurs pages web dédiées. http://packages.debian.org/package-name affiche chaque version du paquet disponible dans les différentes distributions. Les informations détaillées par version incluent la description du paquet, les dépendances et des liens pour récupérer le paquet.

Le système de suivi des bogues trie les bogues par paquet. Vous pouvez regarder les bogues de chaque paquet à http://bugs.debian.org/package-name.


4.10.2 L'outil madison

madison est un outil en ligne de commande qui est disponible sur ftp-master.debian.org et sur non-us.debian.org. Il utilise un seul argument qui correspond au nom du paquet. Il affiche comme résultat quelle version du paquet est disponible pour chaque combinaison d'architecture et de distribution. Un exemple l'expliquera mieux.

     $ madison libdbd-mysql-perl
     libdbd-mysql-perl |   1.2202-4 |        stable | source, alpha, arm, i386, m68k, powerpc, sparc
     libdbd-mysql-perl |   1.2216-2 |       testing | source, arm, hppa, i386, ia64, m68k, mips, mipsel, powerpc, s390, sparc
     libdbd-mysql-perl | 1.2216-2.0.1 |       testing | alpha
     libdbd-mysql-perl |   1.2219-1 |      unstable | source, alpha, arm, hppa, i386, ia64, m68k, mips, mipsel, powerpc, s390, sparc

Dans cet exemple, vous pouvez voir que la version dans unstable diffère de celle de testing et qu'il y a eu une NMU binaire seulement pour l'architecture alpha. À chaque fois, le paquet a été recompilé sur la plupart des architectures.


4.11 Système de suivi des paquets

Le système de suivi des paquets (PTS)[16] est un outil pour suivre par courrier l'activité concernant un paquet source. Il suffit simplement de s'inscrire à un paquet source pour recevoir les courriers liés à celui-ci. Vous recevrez les mêmes courriers que le responsable. Chaque courrier envoyé par le PTS est classé et associé à l'un des mots-clés listés ci-dessous. Ceci vous permettra de sélectionner les courriers que vous voulez recevoir.

Par défaut, vous recevrez :

bts
Tous les rapports de bogue et les discussions qui suivent.
bts-control
Les courriers de contrôle notifiant le changement d'état de l'un des bogues.
upload-source
Le courrier de confirmation de katie quand un paquet source envoyé a été accepté.
katie-other
Les autres courriers d'avertissement et d'erreur de katie (comme une incohérence de forçage pour les champs section ou priorité).
default
Tout courrier non automatique envoyé au PTS par les personnes qui veulent contacter les inscrits au paquet.
summary
À l'avenir, vous pourriez recevoir des courriers de résumé pour vous tenir informé de l'état du paquet (statistiques sur les bogues, vue générale du portage, progression dans testing, etc.).

Vous pouvez également décider de recevoir plus d'informations :

upload-binary
Le courrier d'information de katie quand un paquet binaire envoyé est accepté (pour vérifier que votre paquet est recompilé pour toutes les architectures).
cvs
Les modifications CVS[17] si le responsable a mis en place un système pour faire suivre les notifications de modifications vers le PTS.
ddtp
Les traductions des descriptions ou des questionnaires debconf soumis au Projet de traduction des descriptions de paquets Debian[18].

4.11.1 L'interface de courrier du PTS

Vous pouvez contrôler votre (vos) inscription(s) au PTS en envoyant différents commandes à pts@qa.debian.org.

subscribe <srcpackage> [<email>]
Inscrit email aux communications liées au paquet source srcpackage. L'adresse de l'expéditeur est utilisée si le second argument n'est pas présent. Si srcpackage n'est pas un paquet source valide, vous obtiendrez un avertissement. Cependant, s'il s'agit d'un paquet binaire valide, le PTS vous inscrira pour le paquet source correspondant.
unsubscribe <srcpackage> [<email>]
Supprime une inscription précédente au paquet source srcpackage en utilisant l'adresse spécifiée ou l'adresse de l'expéditeur si le second argument n'est pas rempli.
which [<email>]
Liste les inscriptions pour l'expéditeur ou pour l'adresse indiquée si elle est spécifiée.
keyword [<email>]
Donne les mots-clés que vous acceptez. Chaque courrier envoyé par le PTS est associé à un mot-clé et vous ne recevez que les courriers associés aux mots-clés que vous avez acceptés. Voici la liste des mots-clés disponibles :
keyword <srcpackage> [<email>]
Identique à l'élément précédent, mais pour un paquet source donné car vous pouvez sélectionner un ensemble de mots-clés différent pour chaque paquet source.
keyword [<email>] {+|-|=} <list of keywords>
Accepte (+) ou refuse (-) les courriers associés au(x) mot(s)-clé(s). Définit la liste (=) des mots-clés acceptés.
keyword <srcpackage> [<email>] {+|-|=} <list of keywords>
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.

4.11.2 Filtrer les courriers du PTS

Une fois que vous vous êtes inscrit à un paquet, vous recevrez les courriers envoyés à srcpackage@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. 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
     X-Unsubscribe: echo 'unsubscribe dpkg' | mail pts@qa.debian.org

4.11.3 Faire suivre les modifications de CVS vers le PTS

Si vous utilisez un référentiel CVS accessible publiquement pour maintenir votre paquet Debian, vous pouvez vouloir faire suivre les notifications de modifications vers le PTS pour que les inscrits (par exemple, des co-responsables) puissent suivre de près l'évolution du paquet.

C'est très facile à mettre en place. Une fois que votre référentiel génère des notifications de modifications, vous devez simplement vous assurer qu'il envoie une copie de tous ces courriers à srcpackage_cvs@packages.qa.debian.org. Seules les personnes qui ont accepté le mot-clé cvs recevront les notifications.


4.12 Vue d'ensemble des paquets d'un développeur

Un portail web pour l'Assurance Qualité (QA) est disponible à http://qa.debian.org/developer.php qui affiche un tableau de tous les paquets d'un développeur (y compris ceux pour lequel 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 pour ne pas oublier quels paquets sont sous votre responsabilité.


[ précédent ] [ Table des matières ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ A ] [ suivant ]

Référence du développeur Debian

Version 3.3.3, 16 juin 2003 (version française 20030502).

L'équipe de la Référence du développeur developers-reference@packages.debian.org
Adam Di Carlo, éditeur
Raphaël Hertzog
Christian Schwarz
Ian Jackson
 

version française par Antoine Hulin
et Frédéric Bothamy (traducteur actuel)
et les membres de la liste debian-l10n-french@lists.debian.org