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.
Une grande partie des discussions entre les développeurs Debian (et les
utilisateurs) est gérée par un vaste éventail de listes de diffusion que nous
hébergeons à lists.debian.org
. Pour en
savoir plus sur comment s'abonner ou se désabonner, comment envoyer un message
et comment ne pas en envoyer, comment retrouver d'anciens messages et comment
les rechercher, comment contacter les responsables des listes et pour sevoir
d'autres informations sur les listes de diffusion, veuillez lire http://www.debian.org/MailingLists/
.
Cette section ne couvrira que les aspects des listes de diffusion qui ont un
intérêt particulier pour les développeurs.
Lorsque vous répondez sur une liste de diffusion, veuillez ne pas envoyer de copie (CC) à l'auteur d'origine sauf s'il le demande explicitement. Toute personne envoyant un message à une liste de diffusion devrait la suivre pour voir les réponses.
Le multi-postage (cross-posting) (envoyer le même message à plusieurs listes) est découragé. Comme toujours sur le net, veuillez réduire la citation des articles auxquels vous répondez. En général, veuillez adhérez aux conventions usuelles d'envoi de messages.
Veuillez lire le code de
conduite
pour plus d'informations.
Les principales listes de diffusion de Debian que les développeurs devraient suivre sont :
debian-devel-announce@lists.debian.org
,
utilisée pour les annonces importantes faites aux responsables. Tous les
responsables Debian sont censés être inscrits à cette liste,
debian-devel@lists.debian.org
,
utilisée pour discuter de diverses questions techniques relatives au
développement,
debian-policy@lists.debian.org
où l'on discute et vote les modifications de la charte Debian,
debian-project@lists.debian.org
,
utilisée pour discuter de questions non techniques.
Il existe d'autres listes de diffusion spécialisées dans différents thèmes.
Reportez-vous à la page http://lists.debian.org/
pour en
obtenir la liste complète.
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 amont à propos de licences, de bogues ou encore
des discussions sur le projet avec d'autres personnes.
Avant de demander un liste de diffusion liée au développement d'un paquet (ou d'un petit groupe de paquets liés), veuillez considérer si l'utilisation d'un alias (via un fichier .forward-aliasname sur master.debian.org, ce qui se traduit en une adresse raisonnablement agréable you-aliasname@debian.org) ou une liste de diffusion auto-gérée sur Alioth serait plus appropriée.
Si vous décidez qu'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
.
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'installateur). #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)
.
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.
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.
Certains des serveurs de base sont à accès restreint, mais les informations de ceux-ci sont fournies par d'autres serveurs miroirs.
bugs.debian.org est le serveur maître du système de suivi des bogues (BTS[7]).
Ce serveur est à accès restreint ; un miroir est disponible sur merkel.
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.
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.6 pour en savoir plus.
Ce serveur est à accès restreint ; un miroir est disponible sur merkel.
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.9
pour connaître la procédure à suivre.
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.6.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
.
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.
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.
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.
Sur certaines machines, des chroots de différentes distributions sont disponibles. Vous pouvez les utiliser comme ceci :
vore% dchroot unstable Executing shell in chroot: /org/vore.debian.org/chroots/user/unstable
Dans tous les chroots, les répertoires normaux des utilisateurs sont disponibles. Vous pouvez trouver quels chroots sont disponibles à http://db.debian.org/machines.cgi.
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 :
carte mondiale des
développeurs Debian
, numéros de téléphone et de fax, surnom IRC et
page web,
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
.
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.).
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
[8]
et à toutes les autres recommandations décrites dans la charte Debian
[9]. Les DFSG[10] 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.
À 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 non-Linux. À 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
.
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.).
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.
Pour résumer, 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).
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[11] (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 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. Voir La distribution testing, Section 5.13.
Après une période de développement, quand le responsable de distribution[12] 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.
Les paquets sont habituellement installés dans la distribution testing après avoir atteint un certain degré de test dans unstable.
Pour plus de détails, veuillez consulter les informations à propos de la distribution testing.
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égâts importants, il sera sûrement préférable de le mettre dans la distribution experimental. Un système de fichiers compacté expérimental, 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 solution de rechange à experimental consiste à utiliser vos pages personnelles sur le serveur people.debian.org.
Veuillez considérer l'utilisation de l'option -v de
dpkg-buildpackage
si l'envoi d'un paquet dans unstable
ferme finalement des bogues qui ont d'abord été corrigés dans
experimental.
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 ultérieurement à 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.
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 — 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.
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
leurs 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 (fabrication 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é.
Note : la description présentée ici ne fonctionne pas car ftp-master est à accès restreint. Veuillez vous reporter à Envois différés, Section 5.6.3 pour la façon actuelle de faire.
Le répertoire unchecked
comprend un sous-répertoire spécial,
DELAYED
[13].
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>
Chaque paquet a plusieurs pages web dédiées. http://packages.debian.org/nom-paquet 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/nom-paquet.
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.
Le système de suivi des paquets (PTS)[14] est un outil pour suivre par courrier l'activité concernant un paquet source. Cela veut vraiment dire que vous pourrez recevoir les mêmes courriers que le responsable, simplement en vous 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 vous permettra de sélectionner les courriers que vous voulez recevoir.
Par défaut, vous recevrez :
control@bugs.debian.org
sur
les changement d'état de l'un des rapports de bogue.
katie
quand un paquet source envoyé
a été accepté.
katie
(comme
une incohérence de passage en force pour les champs section ou priorité).
Vous pouvez également décider de recevoir des informations supplémentaires :
katie
quand un paquet binaire envoyé
est accepté. En d'autres termes, à chaque fois qu'un démon de compilation ou
un porteur envoie votre paquet pour une autre architecture, vous recevez un
courrier pour suivre comment votre paquet est recompilé pour toutes les
architectures.
Vous pouvez contrôler votre (vos) inscription(s) au PTS en envoyant différents
commandes à pts@qa.debian.org
.
control@bugs.debian.org
Une fois que vous vous êtes 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 (par exemple, 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
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 (ainsi que des possibles co-responsables) puissent suivre de près l'évolution du paquet.
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 à paquet source_cvs@packages.qa.debian.org. Seules les personnes qui ont accepté le mot-clé cvs recevront les notifications.
Le PTS possède une interface web à http://packages.qa.debian.org/
qui réunit beaucoup d'informations au même endroit à propos de chaque paquet
source. Il propose plusieurs liens utiles (BTS, statistiques QA, informations
de contact, état de traduction DDTP, journaux de compilation automatique) et il
regroupe beaucoup d'autres informations provenant de différents endroits (les
30 dernières entrées de changelog, l'état dans testing, etc.). Il
s'agit d'un outil très pratique si vous désirez connaître ce qu'il en est d'un
paquet source spécifique. De plus, il y a un formulaire qui permet de
facilement s'inscrire au PTS par courrier.
Vous pouvez 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éveloppements des paquets : vous pouvez ajouter du contenu personnalisé aux pages de vos paquets. Vous pouvez ajouter des « informations statiques »[17] (des annonces qui sont destinées à rester disponibles indéfiniment) et des nouvelles dans la section « dernières nouvelles »[18].
Les annonces statiques peuvent être utilisées pour indiquer :
Les nouvelles usuelle peuvent être utilisées pour annoncer que :
Les deux types d'informations sont fabriqués de façon similaire : il vous
suffit d'envoyer un courrier soit à pts-static-news@qa.debian.org
(pour les annonces statiques), soit à pts-news@qa.debian.org
(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 dans 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 valides utilisés pour générer des nouvelles dans le PTS. Le premier ajoute un lien vers l'interface cvsweb de debian-cd dans la section « Informations statiques » :
From: Raphael Hertzog <hertzog@debian.org> To: pts-static-news@qa.debian.org Subject: Browse debian-cd CVS repository with cvsweb Package: debian-cd Url: http://cvs.debian.org/debian-cd/
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 l'éditer. La seule chose que vous puissiez faire est d'envoyer une deuxième nouvelle qui va déprécier l'information contenue dans la précédente.
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é.
Alioth est un service de Debian plutôt récent, basé sur une version légèrement modifiée du logiciel GForge (qui a évolué à partir de SourceForge). Ce logiciel offre aux développeurs l'accès à des outils faciles d'utilisation comme un 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 dépôts CVS, etc. Tous ces outils sont gérés par une interface web.
Alioth est destiné à fournir des facilités pour des projets de logiciels soutenus ou dirigés par Debian, à faciliter les contributions de développeurs externes aux projets initiés par Debian et à aider des projets dont les buts sont de promouvoir Debian ou ses dérivés.
Pour plus d'informations, veuillez visiter http://alioth.debian.org/
.
Référence du développeur Debian
Version 3.3.5, 12 octobre 2004 (version française 20041012).developers-reference@packages.debian.org
debian-l10n-french@lists.debian.org