Debian-Entwicklerreferenz

Andreas Barth

Adam Di Carlo

Raphaël Hertzog

Lucas Nussbaum

Christian Schwarz

Ian Jackson

Version 3.4.25

2019-06-15


Inhaltsverzeichnis

1. Geltungsbereich dieses Dokuments
2. Applying to Become a Member
2.1. Erste Schritte
2.2. Debian-Mentoren und -Sponsoren
2.3. Registering as a Debian member
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. Resources for Debian Members
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. salsa.debian.org: Git repositories and collaborative development platform
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.11. Paketübersicht des Entwicklers
4.12. Debians FusionForge-Installation: Alioth
4.13. Goodies for Debian Members
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. Benachrichtigungen
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. Pakete bergen
5.12.1. Wann es berechtigt ist, ein Paket zu bergen
5.12.2. Wie man Pakete birgt
5.13. Gemeinschaftliche Verwaltung
5.14. Die Distribution Testing
5.14.1. Grundlagen
5.14.2. Aktualisierungen von Unstable
5.14.2.1. Veraltet
5.14.2.2. Entfernen aus Testing
5.14.2.3. Wechselseitige Abhängigkeiten
5.14.2.4. Beeinflussen eines Pakets in Testing
5.14.2.5. Einzelheiten
5.14.3. Direkte Aktualisierungen für Testing
5.14.4. Häufig gestellte Fragen
5.14.4.1. Was sind release-kritische Fehler und wie werden Sie gezählt?
5.14.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. Die Dringlichkeit des Uploads wählen
6.3.3. Häufige Missverständnisse über Änderungsprotokolleinträge
6.3.4. Häufige Fehler in Änderungsprotokolleinträgen
6.3.5. Ä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. Gestaltungsrichtlinie 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.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.9.1. Automatically generated debug packages
6.7.9.2. Manual -dbg packages
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