Table des matières
Incoming
»PTS
)FusionForge
pour Debian : Alioth
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.
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.
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.
Les principales listes de diffusion que les développeurs devraient suivre sont :
<debian-devel-announce@lists.debian.org>
, pour les annonces importantes aux
développeurs. Tous les responsables Debian sont censés être inscrits à cette
liste ;
<debian-devel@lists.debian.org>
, pour les diverses questions techniques relatives au
développement ;
<debian-policy@lists.debian.org>
, où la Charte Debian (« Debian
Policy
») est discutée et votée ;
<debian-project@lists.debian.org>
, pour les questions diverses et non techniques
relatives au projet.
D'autres listes de diffusion sont spécialisées dans différents thèmes ; voir une liste sur http://lists.debian.org/.
<debian-private@lists.debian.org>
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
<debian-private@lists.debian.org>
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
.
<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 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.
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 <debian-private@lists.debian.org>
. 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.
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.
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 « guest » ; mot de passe : « readonly »). Pour signaler un
nouveau problème, il suffit d'envoyer un message à <admin@rt.debian.org>
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.
bugs.debian.org
est le serveur maître du système de suivi des
bogues (« Bug Tracking System
» ou
BTS
).
Ce serveur est à accès restreint ; un miroir est disponible sur
merkel
.
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
<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. 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
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>
; voir Section 5.9, « Manipulation de paquet dans l'archive » pour connaître la
procédure à suivre.
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é.
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 à <debian-devel@lists.debian.org>
.
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.
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.
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.
La distribution Debian GNU/Linux est composée d'un grand nombre de paquets (environ 12000) 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
sources (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.).
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.
À 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 5 gère un total de douze architectures :
alpha
, amd64
, arm
,
armel
, hppa
, i386
,
ia64
, mips
, mipsel
,
powerpc
, s390
et
sparc
.
Pour chaque portage, des informations destinées aux développeurs et utilisateurs sont disponibles sur les pages de portages Debian.
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,lzma}
, éventuellement plusieurs
archives amont supplémentaires
.orig-
et l'archive debian obligatoire
composant
.tar.{gz,bz2,lzma}debian.tar.{gz,bz2,lzma}
pour le format
« 3.0 (quilt) » ;
une seule archive .tar.{gz,bz2,lzma}
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,lzma}
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,lzma}
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,lzma}
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 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 sources 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).
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é (« 3.0 » devient « 3.0r1 », « 2.2r4 » devient « 2.2r5 » 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
.
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
.
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 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
; Debian 3.0, Woody
;
Debian 3.1, Sarge
; Debian 4.0, Etch
;
Debian 5.0, Lenny
et la prochaine publication sera
appelée Squeeze
. 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.
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.
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 katie 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 accepted
. 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 à <debian-changes@lists.debian.org>
. Pour un paquet avec le champ
Distribution
à « unstable
» ou
« experimental
», l'annonce sera envoyée à
<debian-devel-changes@lists.debian.org>
.
Bien que ftp-master soit à accès restreint, une copie de l'installation est
disponible à tous les développeurs sur
merkel.debian.org
.
Chaque paquet a plusieurs pages web
dédiées.
http://packages.debian.org/
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.
nom-de-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
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
merkel.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.
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 <control@bugs.debian.org>
lors des
changements d'état de rapport de bogue ;
upload-source
le courrier d'information de katie quand un paquet source est accepté ;
katie-other
les autres courriers d'avertissement et d'erreur de katie (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 à
. Pour
prévenir l'envoi de pourriels, tous les courriers envoyés à ces adresses
doivent contenir l'en-tête paquet-source
@packages.qa.debian.orgX-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).
Les inscriptions au PTS peuvent être administrées en envoyant différentes
commandes à <pts@qa.debian.org>
.
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 à
<control@bugs.debian.org>
;
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).
Une fois inscrit à un paquet, vous recevrez les courriers envoyés à
. 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 paquet-source
@packages.qa.debian.orgX-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>
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 à
.
Seules les personnes ayant accepté le mot-clé paquet-source
_cvs@packages.qa.debian.orgcvs
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.
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 à <pts-static-news@qa.debian.org>
(pour
les annonces statiques) ou <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 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.
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é.
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 :
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.
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.