Debian-Entwicklerreferenz

Andreas Barth

Adam Di Carlo

Raphaël Hertzog

Lucas Nussbaum

Christian Schwarz

Ian Jackson

Version 3.4.18

2016-06-19


Inhaltsverzeichnis

1. Geltungsbereich dieses Dokuments
2. Bewerbung als Betreuer
2.1. Erste Schritte
2.2. Debian-Mentoren und -Sponsoren
2.3. Als Debian-Entwickler registrieren
3. Pflichten von Debian-Entwicklern
3.1. Pflichten von Paketbetreuern
3.1.1. Auf die nächste Stable-Veröffentlichung hinarbeiten
3.1.2. Pakete in Stable betreuen
3.1.3. Verwalten release-kritischer Fehler
3.1.4. Abstimmung mit Originalautoren
3.2. Verwaltungspflichten
3.2.1. Verwaltung Ihrer Debian-Informationen
3.2.2. Verwalten Ihres öffentlichen Schlüssels
3.2.3. Abstimmungen
3.2.4. Elegant Urlaub machen
3.2.5. Sich zurückziehen
3.2.6. Nach dem Ausscheiden zurückkehren
4. Ressourcen für Debian-Entwickler und Debian-Paketbetreuer
4.1. Mailinglisten
4.1.1. Grundregeln für die Benutzung
4.1.2. Haupt-Entwickler-Mailinglisten
4.1.3. Spezielle Listen
4.1.4. Antrag auf neue entwicklungsbezogene Listen
4.2. IRC-Kanäle
4.3. Dokumentation
4.4. Debian-Maschinen
4.4.1. Der bugs-Server
4.4.2. Der FTP-Master-Server
4.4.3. Der WWW-Master-Server
4.4.4. Der people-Webserver
4.4.5. Die VCS-Server
4.4.6. Chroots auf andere Distributionen
4.5. Die Entwicklerdatenbank
4.6. Das Debian-Archiv
4.6.1. Bereiche
4.6.2. Architekturen
4.6.3. Pakete
4.6.4. Distributionen
4.6.4.1. Stable, testing und unstable
4.6.4.2. Weitere Informationen über die Testing-Distribution
4.6.4.3. Experimental
4.6.5. Codenamen der Veröffentlichungen
4.7. Debian-Spiegel
4.8. Das Incoming-System
4.9. Paketinformationen
4.9.1. Im Web
4.9.2. Das Hilfswerkzeug dak ls
4.10. Das Debian-Paketverfolgungssystem
4.10.1. Die E-Mail-Schnittstelle des Paketverfolgungssystems
4.10.2. E-Mails vom Paketverfolgungssystem filtern
4.10.3. VCS-Commits an das Paketverfolgungssystem weiterleiten
4.10.4. Die Web-Schnittstelle des Paketverfolgungssystems
4.11. Paketübersicht des Entwicklers
4.12. Debians FusionForge-Installation: Alioth
4.13. Annehmlichkeiten für Debian-Entwickler und -Betreuer
5. Pakete verwalten
5.1. Neue Pakete
5.2. Änderungen im Paket aufzeichnen
5.3. Das Paket testen
5.4. Layout des Quellpakets
5.5. Eine Distribution auswählen
5.5.1. Ein Sonderfall sind Uploads in die Distributionen Stable und Oldstable.
5.5.2. Ein Sonderfall sind Uploads nach testing/testing-proposed-updates
5.6. Ein Paket hochladen
5.6.1. Hochladen nach ftp-master
5.6.2. Verzögerte Uploads
5.6.3. Sicherheits-Uploads
5.6.4. Andere Upload-Warteschlangen
5.6.5. Benachrichtigung, dass ein neues Paket installiert wurde
5.7. Angabe des Paketbereichs, des Unterbereichs und der Priorität
5.8. Fehlerbehandlung
5.8.1. Fehlerüberwachung
5.8.2. Auf Fehler antworten
5.8.3. Fehlerorganisation
5.8.4. Wann Fehler durch neue Uploads geschlossen werden
5.8.5. Handhabung von sicherheitsrelevanten Fehlern
5.8.5.1. Der Security Tracker
5.8.5.2. Vertraulichkeit
5.8.5.3. Sicherheitsankündigungen
5.8.5.4. Pakete vorbereiten, um Sicherheitsthemen anzugehen
5.8.5.5. Hochladen eines korrigierten Pakets
5.9. Verschieben, Entfernen, Verwaisen, Adoptieren und Wiedereinführen von Paketen
5.9.1. Pakete verschieben
5.9.2. Pakete entfernen
5.9.2.1. Entfernen von Paketen aus Incoming
5.9.3. Umbenennen oder Ersetzen von Paketen
5.9.4. Verwaisen von Paketen
5.9.5. Adoption eines Pakets
5.9.6. Wiedereinführen vom Paketen
5.10. Portieren und portiert werden
5.10.1. Seien Sie freundlich zu Portierern
5.10.2. Leitlinien für Uploads von Portierern
5.10.2.1. Neu kompilieren oder rein binärer NMU
5.10.2.2. Wann Sie als Portierer ein Quell-NMU durchführen sollten
5.10.3. Portierungs-Infrastruktur und -Automatisierung
5.10.3.1. Mailinglisten und Web-Seiten
5.10.3.2. Werkzeuge der Portierer
5.10.3.3. wanna-build
5.10.4. Wenn Ihr Paket nicht portierbar ist
5.10.5. Unfreie Pakete als automatisch erstellbar kennzeichnen
5.11. Non-Maintainer Uploads (NMUs)
5.11.1. Wann und wie ein NMU durchgeführt wird
5.11.2. NMUs und debian/changelog
5.11.3. Benutzung der Warteschlange DELAYED/
5.11.4. NMUs aus Sicht des Paketbetreuers
5.11.5. Quell-NMUs gegenüber rein binären NMUs (binNMUs)
5.11.6. NMUs gegenüber QS-Uploads
5.11.7. NMUs gegenüber Team-Uploads
5.12. Gemeinschaftliche Verwaltung
5.13. Die Distribution Testing
5.13.1. Grundlagen
5.13.2. Aktualisierungen von Unstable
5.13.2.1. Veraltet
5.13.2.2. Entfernen aus Testing
5.13.2.3. Wechselseitige Abhängigkeiten
5.13.2.4. Beeinflussen eines Pakets in Testing
5.13.2.5. Einzelheiten
5.13.3. Direkte Aktualisierungen für Testing
5.13.4. Häufig gestellte Fragen
5.13.4.1. Was sind release-kritische Fehler und wie werden Sie gezählt?
5.13.4.2. Wie kann das Installieren eines Pakets in testing andere Pakete möglicherweise beschädigen?
6. Optimale Vorgehensweise beim Paketieren
6.1. Optimale Vorgehensweisen für debian/rules
6.1.1. Helferskripte
6.1.2. Unterteilen Sie Ihre Patches in mehrere Dateien
6.1.3. Pakete mit mehreren Binärdateien
6.2. Optimale Vorgehensweisen für debian/control
6.2.1. Allgemeine Leitlinien für Paketbeschreibungen
6.2.2. Die Paketübersicht oder Kurzbeschreibung
6.2.3. Die ausführliche Beschreibung
6.2.4. Homepage der Originalautoren
6.2.5. Ort des Versionsverwaltungssystems
6.2.5.1. Vcs-Browser
6.2.5.2. Vcs-*
6.3. Optimale Vorgehensweisen für debian/changelog
6.3.1. Verfassen nützlicher Änderungsprotokolleinträge
6.3.2. Häufige Missverständnisse über Änderungsprotokolleinträge
6.3.3. Häufige Fehler in Änderungsprotokolleinträgen
6.3.4. Änderungsprotokolle mit NEWS.Debian-Dateien ergänzen
6.4. Optimale Vorgehensweisen für Betreuerskripte
6.5. Konfigurationsverwaltung mit debconf
6.5.1. Missbrauchen Sie Debconf nicht
6.5.2. Allgemeine Empfehlungen für Autoren und Übersetzer
6.5.2.1. Schreiben Sie korrektes Englisch.
6.5.2.2. Seien sie nett zu Übersetzern
6.5.2.3. Entfernen Sie die fuzzy-Markierungen in vollständigen Übersetzungen, wenn Sie Tipp- und Rechtschreibfehler korrigieren.
6.5.2.4. Treffen Sie keine Annahmen über Schnittstellen.
6.5.2.5. Reden Sie nicht in der ersten Person.
6.5.2.6. Formulieren Sie geschlechtsneutral
6.5.3. Definition von Vorlagenfeldern
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: Kurze und erweiterte Beschreibung
6.5.3.3. Choices
6.5.3.4. Default
6.5.4. Stilanleitung für Vorlagenfelder
6.5.4.1. Feld »Type«
6.5.4.2. Feld »Description«
6.5.4.2.1. »string«-/»password«-Vorlagen
6.5.4.2.2. »boolean«-Vorlagen
6.5.4.2.3. »select«/»multiselect«
6.5.4.2.4. »notes«
6.5.4.3. Das Feld »Choices«
6.5.4.4. Das Feld »Default«
6.5.4.5. Das Feld »Default«
6.6. Internationalisierung
6.6.1. Handhabung von Debconf-Übersetzungen
6.6.2. Internationalisierte Dokumentation
6.7. Übliche Paketierungssituationen
6.7.1. Pakete benutzen autoconf/automake
6.7.2. Bibliotheken
6.7.3. Dokumentation
6.7.4. Besondere Pakettypen
6.7.5. Architekturunabhängige Daten
6.7.6. Eine bestimmte Locale wird während des Builds benötigt
6.7.7. Machen Sie Übergangspakete deborphan-konform
6.7.8. Optimale Vorgehensweisen für .orig.tar.{gz,bz2,xz}-Dateien
6.7.8.1. Unberührter Quellcode
6.7.8.2. Neu paketierter Originalquellcode
6.7.8.3. Ändern binärer Dateien
6.7.9. Optimale Vorgehensweisen für Debug-Pakete
6.7.10. Optimale Vorgehensweisen für Meta-Pakete
7. Jenseits der Paketierung
7.1. Fehler berichten
7.1.1. Viele Fehler auf einmal berichten (Masseneinreichung von Fehlern)
7.1.1.1. Usertags
7.2. Qualitätssicherungsbestreben
7.2.1. Tägliche Arbeit
7.2.2. Treffen zur gemeinschaftlichen Behebung von Fehlern (Bug-Squashing-Parties)
7.3. Andere Paketbetreuer kontaktieren
7.4. Sich mit inaktiven und/oder nicht erreichbaren Paketbetreuern beschäftigen
7.5. Zusammenwirken mit zukünftigen Debian-Entwicklern
7.5.1. Pakete sponsern
7.5.1.1. Ein neues Paket sponsern
7.5.1.2. Eine Aktualisierung eines existierenden Pakets sponsern
7.5.2. Neue Entwickler befürworten
7.5.3. Handhabung von Bewerbungen neuer Betreuer
8. Internationalisierung und Übersetzungen
8.1. Wie Übersetzungen in Debian gehandhabt werden
8.2. I18N & L10N FAQ für Paketbetreuer
8.2.1. Wie ein vorliegender Text übersetzt wird
8.2.2. Wie eine vorliegende Übersetzung überprüft wird
8.2.3. Wie eine vorliegende Übersetzung aktualisiert wird
8.2.4. Wie Fehlerberichte gehandhabt werden, die eine Übersetzung betreffen
8.3. I18n- & L10n-FAQ für Übersetzer
8.3.1. Wie man bei Übersetzungsbemühungen helfen kann
8.3.2. Wie eine Übersetzung zur Eingliederung in ein Paket bereitgestellt wird
8.4. Beste aktuelle Vorgehensweise bezüglich L10n
A. Überblick über die Werkzeuge der Debian-Betreuer
A.1. Kernwerkzeuge
A.1.1. dpkg-dev
A.1.2. debconf
A.1.3. fakeroot
A.2. Lint-Werkzeuge für Pakete
A.2.1. lintian
A.2.2. debdiff
A.3. Helferskripte für debian/rules
A.3.1. debhelper
A.3.2. dh-make
A.3.3. equivs
A.4. Paket-Builder
A.4.1. git-buildpackage
A.4.2. debootstrap
A.4.3. pbuilder
A.4.4. sbuild
A.5. Programme zum Hochladen von Paketen
A.5.1. dupload
A.5.2. dput
A.5.3. dcut
A.6. Automatisieren der Paketverwaltung
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. Portierungswerkzeuge
A.7.1. dpkg-cross
A.8. Dokumentation und Information
A.8.1. docbook-xml
A.8.2. debiandoc-sgml
A.8.3. debian-keyring
A.8.4. debian-el