Debian-Entwicklerreferenz

Andreas Barth

Adam Di Carlo

Raphaël Hertzog

Lucas Nussbaum

Christian Schwarz

Ian Jackson

Version 3.4.15

2015-06-11


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 Fehler-Server
4.4.2. Der FTP-Master-Server
4.4.3. Der WWW-Master-Server
4.4.4. Der Personen-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. Abschnitte
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 Eingangssystem
4.9. Paketinformationen
4.9.1. Im Web
4.9.2. Das Hilfswerkzeug dak ls
4.10. Das Paketverfolgungssystem
4.10.1. Die E-Mail-Schnittstelle des PTS
4.10.2. PTS-E-Mails filtern
4.10.3. VCS-Commits in das PTS weiterleiten
4.10.4. Die PTS-Web-Schnittstelle
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 herausgreifen
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 auf ftp-master
5.6.2. Verzögerte Uploads
5.6.3. Sicherheits-Uploads
5.6.4. Andere Upload-Warteschlangen
5.6.5. Benachrichtigung, dass eine neues Paket instaliert 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. Die Sicherheits-Fehlerverfolgung
5.8.5.2. Vertraulichkeit
5.8.5.3. Sicherheitswarnungen
5.8.5.4. Pakete vorbereiten, um Sicherheitsthemen anzugehen
5.8.5.5. Hochladen eines reparierten 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. Richtlinien für Uploads von Portierern
5.10.2.1. Neu compilieren oder rein binärer NMU
5.10.2.2. Wann ein Quell-NMU als Portierer gemacht werden sollte
5.10.3. Portierungs-Infrastruktur und -Automatisierung
5.10.3.1. Mailinglisten und Web-Seiten
5.10.3.2. Werkzeuge der Portierers
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 zerstören?
6. Optimale Vorgehensweise beim Paketieren
6.1. Optimale Vorgehensweisen für debian/rules
6.1.1. Helfer-Skripte
6.1.2. Unterteilen Sie Ihre Patchs in mehrere Dateien
6.1.3. Pakete mit mehreren Binärdateien
6.2. Optimale Vorgehensweisen für debian/control
6.2.1. Allgemeine Richtlinien 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 Schablonenfeldern
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 längere Beschreibung
6.5.3.3. Choices
6.5.3.4. Default
6.5.4. Stil-Anleitung speziell für Schablonenfelder
6.5.4.1. Feld »Type«
6.5.4.2. Feld »Description«
6.5.4.2.1. »string«-/»password«-Schablonen
6.5.4.2.2. »boolean«-Schablonen
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 vorübergehende Pakete Deborphan-konform
6.7.8. Optimale Vorgehensweisen für .orig.tar.{gz,bz2,xz}-Dateien
6.7.8.1. Unberührte Quellen
6.7.8.2. Neu paketierte Originalquelle
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. Benutzerkennzeichen
7.2. Qualitätssicherungsbestreben
7.2.1. Tägliche Arbeit
7.2.2. 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 bei Übersetzungsbemühungen geholfen wird
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. Helper-Skripte 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. Verwaltungsautomatisierung
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. quinn-diff
A.7.2. 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-maintainers
A.8.5. debview