Référence du développeur Debian

Andreas Barth

Adam Di Carlo

Raphaël Hertzog

Lucas Nussbaum

Christian Schwarz

Ian Jackson

Version 3.4.15

2015-06-11


Table des matières

1. Portée de ce document
2. Candidature de responsable Debian
2.1. Entrée en matière
2.2. Mentors et parrains Debian
2.3. Enregistrement comme responsable Debian
3. Devoirs du développeur Debian
3.1. Devoirs du responsable de paquet
3.1.1. Œuvrer pour la prochaine publication stable
3.1.2. Maintenance de paquets dans stable
3.1.3. Gestion des bogues critiques pour la publication
3.1.4. Coordination avec les développeurs amont
3.2. Devoirs administratifs
3.2.1. Mise à jour des renseignements auprès de Debian
3.2.2. Gestion de clé publique
3.2.3. Votes
3.2.4. Départ en vacances poli
3.2.5. Démission
3.2.6. Revenir après démission
4. Ressources pour les responsables et développeurs Debian
4.1. Listes de diffusion
4.1.1. Règles d'utilisation fondamentales
4.1.2. Principales listes de diffusion pour les responsables
4.1.3. Listes particulières
4.1.4. Demander une nouvelle liste pour le développement
4.2. Canaux IRC
4.3. Documentation
4.4. Serveurs Debian
4.4.1. Serveur de suivi des bogues (BTS)
4.4.2. Serveur FTP principal ftp-master
4.4.3. Serveur web principal www-master
4.4.4. Serveur web pour pages personnelles people
4.4.5. Serveurs de gestion de versions (VCS)
4.4.6. Chroots de différentes distributions
4.5. Base de données des développeurs
4.6. Archive Debian
4.6.1. Sections
4.6.2. Architectures
4.6.3. Paquets
4.6.4. Distributions
4.6.4.1. Stable, testing, et unstable
4.6.4.2. Informations complémentaires sur la distribution testing
4.6.4.3. Experimental
4.6.5. Noms de code des distributions
4.7. Miroirs Debian
4.8. Système « Incoming »
4.9. Informations sur un paquet
4.9.1. Sur le web
4.9.2. Utilitaire dak ls
4.10. Système de suivi des paquets (PTS)
4.10.1. Interface de courrier du PTS
4.10.2. Filtrer les courriers du PTS
4.10.3. Faire suivre les annonces de révision vers le PTS
4.10.4. Interface web du PTS
4.11. Vue d'ensemble des paquets d'un développeur
4.12. FusionForge pour Debian : Alioth
4.13. Cadeaux pour les développeurs et responsables Debian
5. Gestion des paquets
5.1. Nouveaux paquets
5.2. Enregistrement des modifications
5.3. Tests du paquet
5.4. Agencement du paquet source
5.5. Choix de distribution
5.5.1. Cas particulier : distributions stable et oldstable
5.5.2. Cas particulier : testing/testing-proposed-updates
5.6. Envois de paquets
5.6.1. Envois sur ftp-master
5.6.2. Envois différés
5.6.3. Envois de sécurité
5.6.4. Les autres files d'envoi
5.6.5. Notification d'installation de nouveau paquet
5.7. Section, sous-section et priorité de paquet
5.8. Manipulation des bogues
5.8.1. Supervision des bogues
5.8.2. Réponses aux bogues
5.8.3. Gestion des bogues
5.8.4. Fermeture des rapports de bogue lors des mises à jour
5.8.5. Gestion des bogues de sécurité
5.8.5.1. Gestionnaire de sécurité (« Security Tracker »)
5.8.5.2. Confidentialité
5.8.5.3. Annonces de sécurité
5.8.5.4. Préparation de paquets pour les problèmes de sécurité
5.8.5.5. Mise à jour du paquet corrigé
5.9. Manipulation de paquet dans l'archive
5.9.1. Déplacement de paquet
5.9.2. Suppression de paquet
5.9.2.1. Suppression de paquet d'Incoming
5.9.3. Remplacement et changement de nom de paquet
5.9.4. Abandon de paquet
5.9.5. Adoption de paquet
5.9.6. Réintroduction de paquet
5.10. Portage
5.10.1. Courtoisie avec les porteurs
5.10.2. Conseils aux porteurs pour les mises à jour
5.10.2.1. Recompilation ou mise à jour indépendante binaire (binNMU)
5.10.2.2. Quand utiliser une NMU source pour un portage
5.10.3. Infrastructure de portage et automatisation
5.10.3.1. Listes de diffusion et pages web
5.10.3.2. Outils pour les porteurs
5.10.3.3. wanna-build
5.10.4. Paquet non portable
5.10.5. Paquets non libres pouvant être automatiquement construits
5.11. Mises à jour indépendantes (NMU)
5.11.1. NMU : quand et comment
5.11.2. NMU et debian/changelog
5.11.3. Utilisation de la file d'attente DELAYED/
5.11.4. NMU d'un point de vue du responsable
5.11.5. Mise à jour indépendante source (NMU) vs binaire (binNMU)
5.11.6. NMU et envoi de QA
5.11.7. NMU et envoi d'équipe
5.12. Maintenance collective
5.13. La distribution testing
5.13.1. Bases
5.13.2. Mise à jour depuis unstable
5.13.2.1. Désynchronisation
5.13.2.2. Suppression de testing
5.13.2.3. Dépendances circulaires
5.13.2.4. Influence d'un paquet dans testing
5.13.2.5. Détails
5.13.3. Mises à jour directes dans testing
5.13.4. Foire aux questions
5.13.4.1. Quels sont les bogues bloquant l'intégration dans la version stable et comment sont-ils pris en compte ?
5.13.4.2. Comment l'installation d'un paquet dans testing peut-elle casser d'autres paquets ?
6. Meilleures pratiques d'empaquetage
6.1. Meilleures pratiques pour debian/rules
6.1.1. Scripts d'assistance
6.1.2. Séparation des correctifs (« patches ») en plusieurs fichiers
6.1.3. Paquets binaires multiples
6.2. Meilleures pratiques pour debian/control
6.2.1. Conseils généraux pour les descriptions de paquets
6.2.2. Résumé, ou description courte, d'un paquet
6.2.3. Description longue
6.2.4. Page d'accueil amont
6.2.5. Emplacement du système de gestion de versions
6.2.5.1. Vcs-Browser
6.2.5.2. Vcs-*
6.3. Meilleures pratiques pour debian/changelog
6.3.1. Entrées de journalisation utiles
6.3.2. Idées reçues sur les entrées de journalisation
6.3.3. Erreurs usuelles dans les entrées de journalisation
6.3.4. Complément des journaux de modifications dans les fichiers NEWS.Debian
6.4. Meilleures pratiques pour les scripts du responsable
6.5. Gestion de la configuration avec debconf
6.5.1. Proscrire les abus de debconf
6.5.2. Recommandations générales pour les auteurs et les traducteurs
6.5.2.1. Utilisation d'un anglais correct
6.5.2.2. Courtoisie avec les traducteurs
6.5.2.3. Correction (« unfuzzy ») des traductions pour des erreurs typographiques ou de frappe
6.5.2.4. Proscrire toute supposition sur les interfaces utilisateurs
6.5.2.5. Proscrire l'utilisation de la première personne
6.5.2.6. Neutralité en genre
6.5.3. Définition des champs de modèles (« templates »).
6.5.3.1. Type
6.5.3.1.1. string
6.5.3.1.2. password
6.5.3.1.3. boolean
6.5.3.1.4. select
6.5.3.1.5. multiselect
6.5.3.1.6. note
6.5.3.1.7. text
6.5.3.1.8. error
6.5.3.2. Description : descriptions courte et étendue
6.5.3.3. Choices
6.5.3.4. Default
6.5.4. Guide de style spécifique à certains modèles
6.5.4.1. Champ Type
6.5.4.2. Champ Description
6.5.4.2.1. Modèles string et password
6.5.4.2.2. Modèles boolean
6.5.4.2.3. Modèles select et multiselect
6.5.4.2.4. Modèles note
6.5.4.3. Champ Choices
6.5.4.4. Champ Default
6.5.4.5. Champ Default
6.6. Internationalisation
6.6.1. Gestion des traductions debconf
6.6.2. Documentation internationalisée
6.7. Situations courantes de gestion de paquets
6.7.1. Paquets utilisant autoconf ou automake
6.7.2. Bibliothèques
6.7.3. Documentation
6.7.4. Catégories particulières de paquets
6.7.5. Données indépendantes de l'architecture
6.7.6. Besoin de paramètres régionaux spécifiques lors de la construction
6.7.7. Paquets de transition conformes à deborphan
6.7.8. Meilleures pratiques pour les fichiers .orig.tar.{gz,bz2,xz}
6.7.8.1. Source originelle (« pristine »)
6.7.8.2. Source amont reconstruite
6.7.8.3. Modification de fichier binaire
6.7.9. Meilleures pratiques pour les paquets de débogage
6.7.10. Meilleures pratiques pour les métapaquets
7. Au-delà de l'empaquetage
7.1. Signalement de bogues
7.1.1. Signalement d'un grand nombre de bogues en une fois (« mass bug filing »)
7.1.1.1. Étiquettes d'utilisateur « Usertags »
7.2. Effort d'assurance qualité
7.2.1. Travail quotidien
7.2.2. Chasses aux bogues
7.3. Contact avec d'autres responsables
7.4. Gestion des responsables non joignables
7.5. Interaction avec de futurs développeurs Debian
7.5.1. Parrainage de paquets
7.5.1.1. Parrainage d'un nouveau paquet
7.5.1.2. Parrainage de la mise à jour d'un paquet existant
7.5.2. Recommandation d'un nouveau développeur
7.5.3. Gestion des nouvelles candidatures
8. Internationalisation et traduction
8.1. Gestion des traductions au sein de Debian
8.2. FAQ I18N et L10N pour les responsables
8.2.1. Comment faire en sorte qu'un texte soit traduit
8.2.2. Comment faire en sorte qu'une traduction donnée soit relue
8.2.3. Comment faire en sorte qu'une traduction donnée soit mise à jour
8.2.4. Comment gérer un rapport de bogue concernant une traduction
8.3. FAQ I18N et L10N pour les traducteurs
8.3.1. Comment aider l'effort de traduction
8.3.2. Comment fournir une traduction pour inclusion dans un paquet
8.4. Meilleures pratiques actuelles concernant la l10n
A. Aperçu des outils du responsable Debian
A.1. Outils de base
A.1.1. dpkg-dev
A.1.2. debconf
A.1.3. fakeroot
A.2. Contrôle de paquets (« lint »)
A.2.1. lintian
A.2.2. debdiff
A.3. Assistance pour debian/rules
A.3.1. debhelper
A.3.2. dh-make
A.3.3. equivs
A.4. Construction de paquets
A.4.1. git-buildpackage
A.4.2. debootstrap
A.4.3. pbuilder
A.4.4. sbuild
A.5. Envoi de paquets
A.5.1. dupload
A.5.2. dput
A.5.3. dcut
A.6. Automatisation de la maintenance
A.6.1. devscripts
A.6.2. autotools-dev
A.6.3. dpkg-repack
A.6.4. alien
A.6.5. dpkg-dev-el
A.6.6. dpkg-depcheck
A.7. Outils de portage
A.7.1. quinn-diff
A.7.2. dpkg-cross
A.8. Documentation et information
A.8.1. docbook-xml
A.8.2. debiandoc-sgml
A.8.3. debian-keyring
A.8.4. debian-maintainers
A.8.5. debview