Home
        Debian-Leitfaden für Neue Paketbetreuer
         Contents
1.         Mittel komplexe Pakete    einfaches Bin  rpaket  arch any  ELF Bin  rprogramme  kompiliert aus Sprachen wie C und C       mehrere Bin  rpakete  arch any all  Pakete f  r ELF Bin  rprogramme   Dokumentation     Quelle der Originalautoren ist weder im Format tar   gz noch im Format tar bz2        die Quellen der Originalautoren enthalten Inhalte  die nicht verteilt werden d  rfen       Hochkomplexe Pakete    Interpretermodulpakete  die von anderen Paketen verwandt werden    generische ELF Bibliothekspakete  die von anderen Paketen verwandt werden    mehrere Bin  rpakete  darunter ein ELF Bibliothekspaket    Quellpakete mit mehreren Quellen von Originalautoren    Kernelmodul Pakete        Kernel Patch Pakete        jedes Paket mit nicht trivialen Betreuerskripten    Paketieren von hochkomplexen Paketen ist nicht zu schwer  erfordert aber ein bisschen mehr Wissen  Sie sollten spezielle Hilfe   stellungen f  r jede komplexe Funktionalit  t erbitten  Beispielsweise haben einige Sprachen ihre eigenen Unter Richtliniendokumente        Debian Leitfaden f  r Neue Paketbetreuer 9 63       e Perl Richtlinien  http   www debian org doc packaging manuals perl policy    e Python Richtlinien  http   www debian org doc packaging manuals python policy      e Java Richtlinien  http   www debian org doc packaging manuals java policy      Es gibt einen alten lateinischen Spruch  fabricando fit faber    bung macht den Meister   Es wird nachdr  cklich empfohlen  zu    ben und mit allen Schr
2.       3 Dies ersetzt den veralteten Befehl dh_movefiles 1   der durch die Datei files konfiguriert wurde        Debian Leitfaden f  r Neue Paketbetreuer 36 63       sollten zun  chst   berpr  fen  ob es nicht ein spezielleres Werkzeug gibt  das verwendet werden kann  Beispielsweise sollten  Dokumente in der Datei docs stehen und nicht in dieser hier     Diese Datei install enth  lt pro Zeile eine zu installierende Datei  zun  chst den Namen der Datei  relativ zum obersten Ver   zeichnis des Paketbaus   dann ein Leerzeichen und zuletzt das Installationsverzeichnis  relativ zum Install Verzeichnis   Ein Bei   spiel  wo dies benutzt werden kann  ist eine Bin  rdatei src bar  die nicht installiert wurde  Die Datei install k  nnte so  aussehen     sre bar usr bin    Wenn dieses Paket installiert ist  bedeutet dies  dass es einen ausf  hrbaren Befehl  usr bin bar geben wird     Alternativ kann die Datei install nur den Dateinamen ohne Installationsverzeichnis enthalten  wenn sich der relative Ver   zeichnispfad nicht   ndert  Dieses Format wird   blicherweise f  r gro  e Pakete benutzt  die das Ergebnis des Baus auf mehrere  Bin  rpakete verteilen  Daf  r verwenden diese Paket 1 install  Paket 2 install usw     Der Befehl dh_install f  llt darauf zur  ck  im Verzeichnis debian tmp nach Dateien zu suchen  wenn er sie im aktuellen  Verzeichnis nicht findet  oder wo auch immer Sie das Programm mit    sourcedir angewiesen haben  zu suchen      5 12 paket  info    Falls Ihr Paket   info
3.     51  51  52  52  53  54  54    56  56  57  57       Debian Leitfaden f  r Neue Paketbetreuer 1 63       Kapitel 1    Einstieg  aber richtig     Dieses Dokument versucht  einem typischen Debian Benutzer und zuk  nftigen Entwickler in einer verst  ndlichen Sprache die  Technik der Paketerstellung f  r Debian beizubringen  begleitet von funktionierenden Beispielen  Ein altes lateinisches Sprichwort  lautet  Longum iter est per praecepta  breve et efficax per exempla   Es ist ein langer Weg mit Regeln  aber ein kurzer und  effizienter mit Beispielen      Dieses Dokument wurde f  r die Debian Ver  ffentlichung Jessie aktualisiert       Eines der Dinge  die Debian zu einer hervorragenden Distribution machen  ist das Paket System  Obwohl massenhaft Software  im Debian Format vorhanden ist  muss man manchmal auch Software installieren  die nicht in diesem Format vorliegt  Sie fragen  sich vermutlich  wie man eigene Pakete erstellt und vielleicht meinen Sie  es sei eine sehr komplizierte Aufgabe  Nun  wenn Sie  ein absoluter Linux Neuling sind  dann ist es wirklich schwierig  aber als Anf  nger w  rden Sie dieses Dokument jetzt nicht lesen       Sie sollten schon ein wenig Kenntnisse   ber die Unix Programmierung mitbringen  aber Sie brauchen ganz sicher kein Guru  zu sein       Eines ist wohl sicher  um Debian Pakete richtig zu bauen und zu warten  brauchen Sie viel Zeit  Sch  tzen Sie das nicht falsch ein   damit unser System funktioniert  muss der Betreuer sowohl technisch kompe
4.     Die Quelle muss dem   Filesystem Hierarchy Standard    FHS  folgen     Programme  die GNU autoconf einsetzen  folgen automatisch den GNU Konventionen  so dass sie trivial zu paketieren sind  Auf  Grund dieser Tatsache und weiterer Heuristik wird gesch  tzt  dass das Paket debhelper f  r ungef  hr 90  aller Pakete richtig  funktionieren wird  ohne dass irgendwelche tiefgreifenden   nderungen an deren Build System vorgenommen werden m  ssen   Daher ist das Paketieren nicht so kompliziert  wie es zun  chst aussieht     Falls Sie   nderungen an dem Makefile vornehmen m  ssen  sollten Sie vorsichtig sein  dass die Variable   DESTDIR  un   terst  tzt wird  Obwohl sie standardm    ig nicht gesetzt ist  wird die Variable   DESTDIR  jedem Dateipfad vorangestellt  der  f  r die Programminstallation verwendet wird  Das Skript f  r das Paketieren setzt   DESTDIR  auf das tempor  re Verzeichnis     Bei einem Quellpaket  das ein einzelnes Bin  rpaket erstellt  wird das tempor  re Verzeichnis  das vom Befehl dh_auto_install  benutzt wird  auf debian Paket gesetzt     Alles  was im tempor  ren Verzeichnis enthalten ist  wird auf dem System eines       1 Das Verzeichnis debian patches sollte inzwischen existieren  wenn Sie dh_make wie vorher beschrieben ausgef  hrt haben  In diesem Beispiel wird  es sicherheitshalber erstellt  nur f  r den Fall  dass Sie ein existierendes Paket aktualisieren      Lesen Sie GNU Coding Standards  7 2 4 DESTDIR  Support for Staged Installs  http   www gnu or
5.     Diese Mailingliste ist f  r den Anf  n   ger      debian devel lists debian org Mailingliste  http   lists debian org debian devel    Diese Mailingliste ist f  r den Experten      IRC  http   www debian org support irc  wie  debian mentors     Teams konzentrieren sich auf bestimmte Paketgruppen   Vollst  ndige Liste unter https   wiki debian org Teams  https   wiki debian org  Teams       Sprachspezifische Mailinglisten wie debian devel   french italian portuguese spanish   Olists debian org oder debian devel debian or    Vollst  ndige Listen unter https   lists debian org devel html  https   lists debian org devel html  und https   lists debian org    users html  https   lists debian org users html       Die erfahreneren Debian Entwickler werden Ihnen gerne helfen  falls Sie nach den verlangten Recherchen Ihre Frage vern  nftig  formulieren     Wenn Sie einen Fehlerbericht erhalten  ja  tats  chliche Fehlerberichte    ist es Zeit f  r Sie  tiefer in die Debian Fehlerdatenbank   http   www debian org Bugs   einzusteigen und die dort vorhandene Dokumentation zu lesen  damit Sie mit den Berichten effi   zient umgehen k  nnen  Ich empfehle dringend  die Debian Entwicklerreferenz  5 8    Handling bugs    http   www debian org    doc manuals developers reference pkgs html bug handling  zu lesen     Selbst wenn alles gut funktioniert hat  ist es jetzt an der Zeit  mit dem Beten anzufangen  Warum  Weil in wenigen Stunden  oder  Tagen  Benutzer   berall auf der Welt Ihr Paket ver
6.    Erstellen Sie dynamisch durch Hinzuf  gen eines Skripts im Ziel override_dh_auto_configureindebian rules  Dateien wie debian foo links aus debian foo links in     override_dh_auto_configure   dh_auto_configure  sed    s  DEB_HOST_MULTIARCH    DEB_HOST_MULTIARCH  g       debian foo links in  gt  debian foo links    Bitte stellen Sie sicher  dass das Laufzeitbibliothekspaket nur die erwarteten Dateien enth  lt und dass Ihr  dev Paket noch funk   tioniert     Alle Dateien  die simultan in das Multiarch Paket in den gleichen Dateipfad installiert werden sollten exakt den gleichen Inhalt ha   ben  Sie m  ssen vorsichtig mit Unterschieden sein  die durch die generierte Byte Reihenfolge und den Kompressionsalgorithmus  sind     A 5 Natives Debian Paket    Falls ein Paket nur f  r Debian oder m  glicherweise nur f  r lokale Benutzung betreut wird  kann seine Quellen alle Dateien aus  debian   enthalten  Es gibt zwei M  glichkeiten  es zu paketieren     Sie k  nnen einen Tarball der Originalautoren erstellen  bei dem Sie die debian    Dateien ausschlie  en und es als nicht natives  Debian Paket wie in Abschnitt 2 1 paketieren  Dies ist die normale Art  zu der einige Leute raten     Die Alternative ist der Arbeitsablauf des nativen Debian Pakets        Erstellen Sie ein natives Debian Quellpaket im Format 3 0  native  mit einer einzelnen komprimierten Tar Datei  in der  alle Dateien enthalten sind       Paket_Version tar gz      Paket_Version dsc       Bauen Sie Debian Bin  rpakete 
7.    Seiten hat  sollten Sie diese mit dh_installinfo 1  installieren  indem Sie sie in einer Datei Paket   info  auflisten     5 13 Paket  links    Falls Sie zus  tzliche symbolische Links in den Paketbauverzeichnissen als Paketbetreuer erstellen m  ssen  sollten Sie mit dh_link 1   installieren  indem Sie deren komplette Pfade der Quell  und Zieldateien in einer Datei Paket   links auff  hren     5 14  fraket   source  lintian overrides    Falls die Debian Richtlinien eine Ausnahme von einer Regel erlauben  erzeugt lintian eventuell eine falsche Meldung  Wenn  dies der Fall ist  k  nnen Sie Paket  lintian overrides oder source lintian overrides benutzen  um die Mel   dung zu unterdr  cken  Bitte lesen Sie das Benutzerhandbuch von Lintian   usr share doc lintian lintian html   index html  und missbrauchen Sie diesen Mechanismus nicht     Paket lintian overrides ist f  r das Bin  rpaket Paket und wird als usr share lintian overrides Paket  vom Befehl dh_lintian installiert     source lintian overrides ist f  r das Quellpaket  Diese Datei wird nicht installiert     5 15 manpage      Ihr e  Programm e  sollte n  eine Handbuchseite haben  Ist keine vorhanden  sollten Sie sie erstellen  Der Befehl dh_make  erzeugt einige Vorlagendateien f  r Handbuchseiten  Diese m  ssen f  r jeden Befehl kopiert und bearbeitet werden  dem eine  Handbuchseite fehlt  Bitte l  schen Sie alle nicht benutzten Vorlagen        Debian Leitfaden f  r Neue Paketbetreuer 37163       5 15 1 manpage 1 ex    Ha
8.    Sie m  ssen Zugriff auf die neueste Sid Umgebung haben  damit Sie Pakete korrekt f  r Sid bauen k  nnen  Allerdings kann es  in Sid immer wieder mal Probleme geben  so dass Sie wahrscheinlich nicht Ihr gesamtes System umstellen wollen  Das Paket  pbuilder bietet einen Ausweg f  r diese Situation     Es kann vorkommen  dass Sie Ihre Pakete f  r Stable aktualisieren m  ssen  nachdem sie ver  ffentlicht worden sind  beispiels   weise   ber stable proposed updates  stable updates usw    In einem solchen Fall sollten Sie Ihre Pakete z  gig  aktualisieren  die Ausrede  dass Sie ein Sid System verwenden  ist nicht akzeptabel  Das Paket pbuilder kann Ihnen dabei  helfen  auf nahezu jede Debian basierte Distribution derselben Architektur zuzugreifen     Siehe http   www netfort gr jp  dancer software pbuilder html  pdebuild 1   pbuilderrc 5  und pbuilder 8      6 5 Der Befehl git buildpackage und   hnliche    Falls der Autor des urspr  nglichen Programms ein Quelltext Verwaltungsprogramm  VCS     zur Betreuung des Codes einsetzt   sollten Sie dar  ber nachdenken  dies ebenfalls zu tun  Damit wird das Zusammenf  hren und Herauspicken von Patches des  Originalautors wesentlich einfacher  Es gibt verschiedene Pakete  die spezialisierte Wrapper Skripte enthalten  die das Bauen  eines Debian Pakets mit dem jeweiligen VCS erleichtern     e git buildpackage  Eine Suite zur Unterst  tzung von Debian Paketen in Git Depots   e svn buildpackage  Hilfsprogramme zur Betreuung von Debian Paketen
9.   1foo2 g    Makefile  dquilt refresh   dquilt header  e     Patch beschreiben    HAARAA       Debian Leitfaden f  r Neue Paketbetreuer 19 63       Kapitel 4    Ben  tigte Dateien im Verzeichnis debian    Im Quellverzeichnis des Programms gibt es ein neues Unterverzeichnis  das debian hei  t  In diesem Verzeichnis sind einige Da   teien  die wir   ndern m  ssen  um die Eigenschaften des Pakets anzupassen  Die wichtigsten davon sind control  changelog   copyright und rules  die f  r jedes Paket ben  tigt werden       4 1 control    Diese Datei enth  lt verschiedene Werte  die dpkg  dselect  apt get  apt cache  aptitude und andere Paketverwaltungswerkzeu   ge verwenden  um das Paket zu verwalten  Sie wird in dem Debian Policy Manual  Kapitel 5   Control files and their fields     http   www debian org doc debian policy ch controlfields html  festgelegt     Dies ist die Datei control  die dh_make f  r uns erstellt hat     1 Source  gentoo   Section  unknown   Priority  extra   Maintainer  Josip Rodin  lt joy mg debian org gt    Build Depends  debhelper   gt  9    Standards Version  3 9 4   Homepage   lt URL der Originalautoren einf  gen  falls relevant gt     ooONOOUIRPWMN    9 Package  gentoo   10 Architecture  any   11 Depends    shlibs Depends     misc Depends    12 Description   lt  bis zu 60 Zeichen Beschreibung einf  gen gt   13  lt lange Beschreibung einf  gen  mit Leerzeichen einger  ckt gt      Die Zeilennummerierung habe ich hinzugef  gt     Die Zeilen 1 7 sind die Ste
10.   r strikt niedriger  niedriger oder  gleich  genau gleich  h  her oder gleich und strikt h  her  Ein Beispiel     Depends  foo   gt   1 2   libbari    1 3 4   Conflicts  baz   Recommends  libbaz4   gt  gt  4 0 7    Suggests  quux   Replaces  quux   lt  lt  5   quux foo   lt   7 6     Die letzte Funktionalit  t    ber die Sie Bescheid wissen m  ssen  ist   shlibs Depends     per1l Depends     misc   Depends   usw     dh_shlibdeps 1  berechnet die Abh  ngigkeiten von gemeinsam benutzten Bibliotheken f  r Bin  rpakete  Es erstellt eine Liste  von ELF Programmen und gemeinsam benutzten Bibliotheken  die es f  r jedes Bin  rpaket gefunden hat  Diese Liste wird zur  Ersetzung von   shlibs Depends  verwandt     dh_perl 1  berechnet Perl Abh  ngigkeiten  Es erstellt f  r jedes Bin  rpaket eine Liste von Abh  ngigkeiten von perloder perl  api  Diese Liste wird zur Ersetzung von   perl Depends  verwandt     Einige debhelper Befehle k  nnen dazu f  hren  dass das erstellte Paket von einigen zus  tzlichen Paketen abh  ngt  Alle diese  Befehle erstellen eine Liste von ben  tigten Paketen f  r jedes Bin  rpaket  Diese Liste wird zur Ersetzung von   misc Depen  ds  verwandt     dh_gencontrol 1  erstellt f  r jedes Bin  rpaket DEBIAN control und ersetzt dabei   shlibs Depends     per1l Dep  ends     misc Depends   usw        Debian Leitfaden f  r Neue Paketbetreuer 23 63       Nach all diesen Erkl  rungen k  nnen wir das Feld Depends aber exakt so belassen  wie es jetzt ist und eine weitere
11.   sed  i  e    s usr local lib usr lib g         find    type f  name       c h         Falls Sie stattdessen jede Ersetzung best  tigen m  chten  kann dies wie folgt interaktiv durchgef  hrt werden       vim   argdo  s usr local lib usr lib gce update     q      find    type f  name       c h         Als n  chstes sollten Sie das   install   Ziel suchen  suchen Sie nach der Zeile  die mit install  beginnt  das funktioniert   b   licherweise  und alle Verweise auf Verzeichnisse umbenennen  die nicht denen entsprechen  die Sie am Anfang der Makefile  definiert haben     Urspr  nglich sah das install Ziel von gentoo wie folgt aus     install  gentoo target  install   gentoo   BIN   install icons     ICONS   install gentoorc example   HOME   gentoorc       4 Dies ist nur ein Beispiel  wie ein Makefile aussehen sollte  Falls die Makefile Datei durch den Befehl   configure erstellt wird  ist die richtige Vor   gehensweise  um diese Art Makefile zu korrigieren    configure durch den Befehl dh_auto_configure aufrufen zu lassen  Dabei kommen die voreingestellten  Optionen zum Tragen  einschlie  lich der Option   prefix  usr        Debian Leitfaden f  r Neue Paketbetreuer 17163       Wir beheben diesen Fehler der Originalautoren und speichern es mit dem Befehl dquilt als debian patches install   patch       dquilt new install patch    dquilt add Makefile    Wir   ndern dies f  r das Debian Paket im Editor wie folgt     install  gentoo target  install  d   BIN    ICONS    DESTDIR  etc 
12.  Build System  Sie erkennen solche Quellen an der Datei CMakeLists txt     2 6 Name und Version des Pakets    Falls die Quellen der Originalautoren als gentoo 0 9 12 tar gz existieren  k  nnen Sie gentoo als  Quell  Paketnamen  und 0 9 12 als die Versionsnummer der Originalautoren verwenden  Diese werden in der Datei debian changelog  verwandt  die auch sp  ter in Abschnitt 4 3 beschrieben wird     Obwohl dieser einfache Ansatz meistens funktioniert  k  nnte es sein  dass Sie den Paketnamen und die Versionsnummer der  Originalautoren durch Umbenennen der Originalquellen anpassen m  ssen  damit dies den Debian Richtlinien und bestehenden  Konventionen gen  gt     Sie m  ssen den Paketnamen so w  hlen  dass er nur aus Kleinbuchstaben  a   z   Ziffern  0   9   Plus      und Minus      Zeichen  und Punkten     besteht  Er muss mindestens zwei Zeichen lang sein  mit einem alphanumerischen Zeichen beginnen und darf  mit keinem existierenden   bereinstimmen  Es empfiehlt sich  die L  nge unter 31 Zeichen zu halten        Falls die Originalautoren einen generischen Ausdruck wie test suite f  r den Namen verwenden  ist es eine gute Idee  es  umzubenennen  um den Inhalt explizit zu identifizieren und den Namensraum sauber zu halten        Sie sollten die Versionsnummer der Originalautoren so w  hlen  dass sie nur aus alphanumerischen Zeichen  0 9A Za Z    Pluszeichen      Tilden     und Satzpunkten     besteht  Sie muss mit einer Ziffer  0 9  beginnen     Es ist eine gute Idee  die  L 
13.  DEP 3  Patch Tagging Guidelines  http   dep debian net    deps dep3   hinzuf  gen       dquilt refresh    dquilt header  e  Patch beschreiben    3 3 Installation von Dateien in ihr Zielverzeichnis    Die meisten Programme Dritter installieren sich in die Verzeichnishierachie  usr local  Unter Debian ist diese f  r die private  Benutzung durch den Systemadministrator reserviert  daher d  rfen Pakete Verzeichnisse wie  usr local bin nicht ver   wenden  sondern sollten stattdessen Systemverzeichnisse wie  usr bin verwenden und dem Filesystem Hierarchy Standard   http   www debian org doc packaging manuals fhs fhs 2 3 html   FHS  folgen     Normalerweise wird make 1  benutzt  um das Programm automatisch zu bauen  Der Aufruf von   make install   installiert  das Programm dann direkt in das Ziel  gem     dem install Ziel der Makefile   Damit Debian vorab erstellte installierbare  Pakete bereitstellen kann  ver  ndert es das Bausystem  um Programme in ein Dateisystem Abbild  welches unter einem tempo   r  ren Verzeichnis erstellt wurde  anstatt an das tats  chliche Ziel zu installieren     Diese beiden Unterschiede zwischen einerseits der normalen Programminstallation und andererseits dem Paketieren f  r Debian  k  nnen vom Paket Debhelper transparent adressiert werden  Es benutzt dazu die Befehle dh_auto_configure und dh_auto_install   sofern die folgenden Bedingungen erf  llt sind     e Das Makefile muss den GNU Konventionen folgen und die Variable   DESTDIR  unterst  tzen       
14.  Sie die Quellen des Originalautors verfolgen und einen weiteren Zweig  z  B    blicherweise  master f  r Git   in dem Sie das Debian Paket verfolgen  F  r letzteres wollen Sie sicherlich die unver  nderten Ursprungsquellen  zusammen mit Ihren debian   Dateien f  r das Paketieren haben  um das Zusammenf  hren von neuen Ursprungsquellen zu  vereinfachen     Nachdem Sie ein Paket gebaut haben  bleiben die Patches im Quelltext normalerweise erhalten  Sie m  ssen sie manuell entfernen   indem Sie  dquilt pop  a   aufrufen  bevor Sie in den master Zweig einchecken k  nnen  Sie k  nnen dies automatisieren   indem Sie die optionale Datei debian source local options hinzuf  gen und dort   unapply patches   hinein   schreiben  Diese Datei wird nicht in das erzeugte Quellpaket aufgenommen und ver  ndert nur das lokale Bauverhalten  Diese  Datei kann auch   abort on upstream changes   enthalten  siehe dpkg source 1          7 Siehe DebSrc3 0  http   wiki debian org Projects DebSrc3 0  f  r eine Zusammenfassung zum Wechsel auf die neue Quellformate 3 0  quilt  und 3   O  native     8 Tats  chlich unterst  tzt dieses neue Format sogar mehrere urspr  ngliche Tarb  lle und mehr Kompressionsmethoden  Dies w  rde in diesem Dokument aber  zu weit f  hren        Debian Leitfaden f  r Neue Paketbetreuer 41 63       unapply patches  abort on upstream changes    5 25 source local options    Die automatisch erstellten Dateien im Quellbaum k  nnen f  r das Paketieren recht st  rend wirken  da sie un
15.  Sie k  nnen wie folgt eine neue Debian Revision des Pakets erstellen     e Falls dies als neuer Patch aufgezeichnet werden soll  f  hren Sie das Folgende aus     dquilt new Fehlernummer patch  um den Patch Namen zu setzen  dquilt add defekte_Datei  um die zu korrigierende Datei anzugeben    Korrigieren Sie das Problem in den Paketquellen f  r den Fehler der Originalautoren    dquilt refresh  um es in Fehlernummer  patch aufzuzeichnen    dquilt header  e  um seine Beschreibung hinzuzuf  gen     Falls hiermit ein existierender Patch aktualisiert wird  f  hren Sie das Folgende durch     dquilt pop foo patch  um den existierenden foo  patch aufzurufen    Korrektur des Problems in der alten foo patch    dquilt refresh  um foo patch zu aktualisieren    dquilt header  e  um seine Beschreibung zu aktualisieren    while dquilt push do dquilt refresh done  um alle Patches anzuwenden und dabei fuzz  Unsch  rfe  zu ent   fernen       F  gen Sie eine neue Revision an den Anfang der Datei changelog hinzu  beispielsweise mit dch  i oder explizit mit dch   v Version Revision und f  gen Sie dann die Kommentare mit ihrem Lieblingseditor ein          F  gen Sie eine kurze Beschreibung des Fehler und der L  sung in dem Changelog Eintrag hinzu  gefolgt von Closes    654321  Auf diese Art wird der Fehlerbericht automatisch von der Archivierungswartungssoftware in dem Moment  in dem  Ihr Paket im Archiv akzeptiert wird  geschlossen     e Wiederholen Sie die obigen Schritte  um weitere Fehler zu be
16.  Versionen   lter als einen bestimmten Wert zutrifft  Die L  sung besteht   blicherweise darin   h  hergradige Paketverwaltungswerkzeuge zu verwenden  um ein Upgrade der aufgef  hrten Pakete durchzuf  hren     e Provides    F  r einige Paketarten mit mehreren Alternativen wurden virtuelle Namen definiert  Die vollst  ndige Liste dieser virtuellen Pa   kete finden Sie in der Datei virtual package names list txt gz  http   www debian org doc packaging manuals virtual package   names list txt    Benutzen Sie dies  wenn Ihr Paket die Funktionalit  t eines existierenden virtuellen Pakets bietet     e Replaces    Benutzen Sie dies  wenn Ihr Paket Dateien eines anderen Pakets   berschreibt oder ein anderes Paket vollst  ndig ersetzt  wird  zusammen mit Conflicts benutzt   Dateien der genannten Pakete werden mit den Dateien aus Ihrem Paket   berschrieben     All diese Felder haben eine einheitliche Syntax  Es ist jeweils eine durch Kommata getrennte Liste der Paketnamen  Diese Paket   namen k  nnen auch aus einer Liste von alternativen Paketnamen bestehen  die durch senkrechte Striche           pipe   Zeichen   getrennt werden     Die Anwendung der Felder kann auf bestimmte Versionen eines genannten Pakets beschr  nkt werden  Die Einschr  nkung jedes  einzelnen Pakets wird in Klammern nach seinem Namen aufgef  hrt und sollte einen Vergleich aus der folgenden Liste enthalten   gefolgt von einem Versionsnummernwert  Die erlaubten Vergleiche sind  lt  lt    lt        gt   und  gt  gt  f
17.  Zeile dahinter  einf  gen  in der   Suggests  file   steht  weil gentoo einige Funktionen des Pakets file nutzen kann     Zeile 9 ist die Homepage URL  Nehmen wir an  diese sei http   www obsession se gentoo      Zeile 12 enth  lt eine Kurzbeschreibung  Terminals sind typischerweise 80 Zeichen breit  also sollte die Kurzbeschreibung nicht  l  nger als etwa 60 Zeichen sein  Ich   ndere esin fully GUI configurable  two pane X file manager    In die Zeile 13 kommt eine ausf  hrliche Beschreibung  Sie sollte aus einem kleinen Text bestehen  der mehr   ber das Paket verr  t   Die erste Spalte jeder Zeile muss leer sein  Es d  rfen keine leeren Zeilen vorkommen  Sie k  nnen aber welche simulieren  indem  Sie einen einzelnen        Punkt  in die Zeile einsetzen  Es darf nach der ausf  hrlichen Beschreibung auch nicht mehr als eine  Leerzeile vorkommen        Wir k  nnen zwischen die Zeilen 6 und 7 die Felder Vcs     einf  gen  um das Versionskontrollsystem  VCS  zu dokumentieren      Wir nehmen an  dass das Paket gentoo sein VCS im Git Service von Debian Alioth unter git   git debian org git   collab maint gentoo git hat     Zum Schluss ist dies die aktualisierte Datei control     1 Source  gentoo   2 Section  x11   3 Priority  optional   4 Maintainer  Josip Rodin  lt joy mg debian org gt    5 Build Depends  debhelper   gt  9   xlibs dev  libgtk1 2 dev  libglib1 2 dev  6 Standards Version  3 9 4   7 Ves Git  git   git debian org git collab maint gentoo git   8 Ves browser  http   g
18.  als 24 Zeichen    12 Falls Sie Debian Entwicklerreferenz 5 1    Neue Pakete    http   www debian org doc developers reference pkgs html newpackage  folgen  wird der ITP   Prozess normalerweise solche Dinge abfangen    13 Diese strengere Regel sollte Ihnen helfen  verwirrende Namen zu vermeiden    14 Die Standardversionsfeldl  nge von aptitude betr  gt 10  Die Debian Revision mit einleitendem Bindestrich verwendet typischerweise 2 Zeichen  F  r mehr  als 80  der Pakete ist die Versionsnummer der Originalautoren weniger als 8 Zeichen lang und die Debian Revision weniger als 2 Zeichen  F  r mehr als 90   der Pakete ist die Versionsnummer der Originalautoren weniger als 10 Zeichen lang und die Debian Revision weniger als 3 Zeichen    15 Versionsnummer k  nnen die Versionsnummer der Originalautoren  Version   die Debian Revision  Revision  oder die Version  Version   Revision  sein  Lesen Sie Abschnitt 8 1  um zu erfahren  wie die Debian Revision erh  ht wird        Debian Leitfaden f  r Neue Paketbetreuer 12 63          Es gibt besondere Regeln f  r Punkt      Plus      und Tilde      Zeichen  wie folgt   0 0 lt 0 5 lt 0 10 lt 0 99 lt 1 lt 1 0 rc1 lt 1 0 lt 1 0 b1 lt 1 0 nmu1 lt 1 1 lt 2 0    Ein schwieriger Fall tritt auf  wenn die Originalautoren gentoo 0 9 12 ReleaseCandidate 99 tar gzals Vorabver     ffentlichung von gentoo 0 9 12 tar gz ver  ffentlichen  Sie m  ssen sicherstellen  dass das Upgrade korrekt funktioniert   indem Sie die Quellen der Originalautoren in gentoo 0 
19.  debhelper Systems und des Quellformats 3   O auszunutzen           Falls Sie aus irgend einem Grund gel  schte Schablonendateien erneut erstellen m  ssen  k  nnen Sie dh_make mit der Option    addmissing in dem gleichen Debian Quellverzeichnis aufrufen  Danach bearbeiten Sie diesen geeignet     e Falls das Paket noch nicht aktualisiert wurde  um die v7  dh Syntax von debhelper f  r die Datei debian rules zu  verwenden  aktualisieren Sie es  um dh zu verwenden  Aktualisieren Sie die Datei debian control entsprechend     e Falls Sie die mit dem Makefile Einschlussmechanismus des Common Debian Build System  cdbs  erzeugte Datei rules in  die dh Syntax umwandeln wollen  schauen Sie sich die folgenden Informationen an  um seine DEB_  Konfigurationsvariablen  zu verstehen        4 Falls der Befehl uscan die aktualisierten Quellen herunterl  dt aber nicht den Befehl uupdate ausf  hrt  sollten Sie die Datei debian watch korrigieren   um debian uupdate am Ende der URL zu haben     gt  Falls Ihr Sponsor oder andere Betreuer dem Aktualisieren des Paketierungsstils widersprechen  argumentieren Sie nicht  Es gibt wichtigere Dinge zu  erledigen        Debian Leitfaden f  r Neue Paketbetreuer 54163           lokale Kopie von  usr share doc cdbs cdbs doc pdf gz        The Common Debian Build System  CDBS   FOSDEM 2009  http   meetings archive debian net pub debian meetings    2009 fosdem slides The_Common_Debian_Build_System_CDBS         Falls Sie ein 1  0 Quellpaket ohne die Datei foo diff
20.  dh_  Befehle  die vom neuen dh Befehl aufgerufen werden  k  nnen durch entsprechende Konfigurationsdateien im debian   Verzeichnis angepasst werden  Siehe Kapitel 5 sowie die Handbuchseite jedes Befehls f  r Anpassungen dieser Funktionalit  ten     Es kann n  tig sein    ber dh aufgerufene dh_  Befehle mit zus  tzlichen Argumenten oder zus  tzliche Befehle mit ihnen aus   zuf  hren oder sie ganz auszulassen  In solchen F  llen k  nnen Sie ein override_dh_foo Ziel mit der entsprechenden Regel  in der Datei rules erstellen  das ein override_dh_foo Ziel f  r den Befehl dh_foo definiert  den Sie   ndern wollen  Im  Grunde bedeutet das nur   f  hre stattdessen mich aus    Y    Bitte beachten Sie  dass die dh_auto_  Befehle dazu neigen  mehr als die in dieser stark vereinfachten Erkl  rung dargestellten  T  tigkeiten zu erledigen  um Randf  lle zu ber  cksichtigen  Es ist keine gute Idee  override_dh_  Ziele zu verwenden  um  die vereinfachten   quivalenten Befehle als Ersatz zu verwenden  au  er beim Ziel override_dh_auto_clean   da damit  solche pfiffigen debhelper Funktionalit  ten umgangen werden     Falls Sie beispielsweise mittels der Autotools Systemkonfigurationsdaten des aktuellen gentoo Pakets im Verzeichnis  etc   gentoo statt des normalen Verzeichnisses  etc speichern wollen  k  nnen Sie das Vorgabeargument   sysconfig  etc  im Befehl dh_auto_configure an den Befehl   configure durch das Folgende au  er Kraft setzten        25 Falls Sie unter Lenny das Verhalten eines 
21.  e Bei allen Paketen  die auf den Befehl dh in der Datei debian rules zugreifen  m  ssen Sie  debhelper   gt  9   in das  Feld Build Depends eintragen  um die Debian Richtlinien f  r das Ziel clean zu erf  llen       Quellpakete  die bin  re Paketemit  Architecture any   erstellen  werden vom automatischen Bausystem     Autobuilder     neu gebaut  Da w  hrend dieser Autobuilder Prozedur nur die in Build Depends aufgef  hrten Pakete vor der Ausf  hrung  von debian rules build installiert werden  siehe Abschnitt 6 2   muss das Feld Build Depends praktisch alle erfor   derlichen Pakete auflisten  Das Feld Build Depends Indep wird daher selten benutzt     e Quellpakete  die nur bin  re Pakete mit   Architecture all   erstellen  k  nnen im Feld Build Depends Indep alle  erforderlichen Pakete auflisten  es sei denn  diese sind bereits im Feld Build Depends aufgef  hrt  um die Debian Richtlinie  f  r das Ziel clean zu erf  llen     Wenn Sie sich nicht sicher sind  welches von beiden Sie benutzen sollten  verwenden Sie das Feld Build Depends  um auf  der sicheren Seite zu sein        Um herauszufinden  welche Pakete Ihr Paket zum Bauen ben  tigt  f  hren Sie diesen Befehl aus       dpkg depcheck  d   configure    Um die genauen Build Abh  ngigkeiten f  r  usr bin foo manuell herauszufinden  f  hren Sie      objdump  p  usr bin foo   grep NEEDED    aus  Rufen Sie dann f  r jede aufgelistete Bibliothek  beispielsweise libfoo so 6  diesen Befehl auf        2 Lesen Sie das Debian Policy 
22.  gz haben  k  nnen Sie sie auf das neuere Quellformat 3 0  nat  ive  umstellen  indem Sie debian source format mit 3 0  native  erstellen  Der Rest der Dateien debian    kann einfach so kopiert werden     Falls Sie ein 1  0 Quellpaket mit der Datei foo   diff   gz haben  k  nnen Sie es in das neuere Quellformat 3 0  quilt   umwandeln  indem Sie die Datei debian source format mit3 0  quilt  erstellen  Der Rest der Dateien debian     kann einfach so kopiert werden  Importieren Sie die Datei gross   diff  die vom Befehl filterdiff  z  x      debian      foo diff gz  gt  gross diff erstellt wurde  in Ihr quilt System  falls notwendig       Falls es mit einem anderen Patch System wie dpatch  dbs oder cdbs mit  p     p1 oder   p2 paktiert war  wandeln Sie es  in quilt unter Verwendung von deb3 unter http   bugs debian org 581186 um     Falls es mit dem Befehl dh mit der Option   with quilt oder mit den Befehlen dh_quilt_patch und dh_quilt_unpatch  paketiert wurde  entfernen Sie diese und sorgen Sie daf  r  dass das neuere Format 3 0  quilt  verwandt wird     Sie sollten die DEP   Debian Enhancement Proposals  http   dep debian net   pr  fen und akzeptierte  ACCEPTED  Vorschl  ge  umsetzen     Sie m  ssen auch andere in Abschnitt 8 3 beschriebene Aufgaben erledigen     8 5 UTF 8 Umstellung    Falls die Dokumente der Originalautoren in alten Kodierungsschemata vorliegen  ist es eine gute Idee  sie in UTF 8 umzuwandeln        Verwenden Sie iconv 1  f  r die Konvertierung reiner Textda
23.  install   gentoo   BIN   install  m644 icons     ICONS   install  m644 gentoorc example   DESTDIR  etc gentoorc    Sie haben bemerkt  dass jetzt der Befehl    install  d   vor den anderen Befehlen in dieser Regel steht  Das urspr  ngliche  Makefile hatte das nicht  weil normalerweise  usr local bin  und andere Verzeichnisse schon auf dem System vorhan   den sind  wenn Sie  make install   aufrufen  Weil wir aber in unseren frisch erstellten Verzeichnisbaum installieren  m  ssen  wir jedes einzelne dieser Verzeichnisse anlegen     Wir k  nnen am Ende der Regel noch weitere Dinge einf  gen  wie beispielsweise die Installation zus  tzlicher Dokumentation   die die Originalautoren manchmal weglassen     install  d   DESTDIR  usr share doc gentoo html  cp  a docs     DESTDIR  usr share doc gentoo html      berpr  fen Sie sorgf  ltig und falls alles in Ordnung ist  bitten Sie dquilt  den Patch zu erstellen und die Datei debian   patches install patch neu zu erstellen  F  gen Sie au  erdem noch eine Beschreibung hinzu       dquilt refresh    dquilt header  e  Patch beschreiben    Jetzt haben Sie eine Reihenfolge von Patches     1  Die Fehlerkorrektur der originalen Quellen  debian patches fix gentoo target patch    2  Die Debian spezifische   nderung f  r   s Paketieren  debian patches install patch    Wann immer Sie   nderungen machen  die nicht spezifisch f  r das Debian Paket sind  so wie debian patches fix gentoo tar  patch   sollten Sie diese dem Betreuer des Originalprogramms 
24.  mit Subversion     e cvs buildpackage  Eine Sammlung von Skripten f  r Debian Pakete in CVS Quelltextb  umen     Die Verwendung von git buildpackage ist bei Debian Entwicklern recht beliebt  um Debian Pakete mit dem Git Server  auf alioth debian org  http   alioth debian org   zu verwalten     Dieses Paket bietet viele Befehle  um Paketierungsaktivit  ten zu  automatisieren     e git import dsc 1   Import eines bestehenden Debian Pakets in ein Git Depot    e git import orig 1   Import eines neuen Tars der Originalautoren in ein Git Depot   e git dch 1   Erstellung des Debian Changelogs aus Git Commit Nachrichten    e git buildpackage 1   Bau von Debian Paketen aus einem Git Depot     e git pbuilder 1   Bau von Debian Paketen aus einem Git Depot mit pbuilder cowbuilder   Diese Befehle verwenden drei Zweige  um die Paktierungsaktivit  ten nachzuverfolgen     e main f  r den Debian Paketierungsquellbaum  e upstream f  r den Quellbaum der Originalautoren    e pristine tar f  r Tarb  lle der Originalautoren  die mit der Option    pristine tar erstellt wurden      Sie k  nnen git buildpackage mit      gbp   conf konfigurieren  Lesen Sie gbp conf 5            8 Es gibt f  r Aktualisierungen Ihrer Stable Pakete einige Einschr  nkungen     9 Lesen Sie Version control systems  http   www debian org doc manuals debian reference ch10 _version_control_systems  f  r mehr Informationen   10 Das Dokument Debian wiki Alioth  http   wiki debian org Alioth  dokumentiert  wie der Dienst alioth 
25.  nge falls m  glich innerhalb von 8 Zeichen zu halten        Falls die Originalautoren kein normales Versionierungsschema wie 2 30 32 sondern eine Art von Datum wie 11Apr29  ei   nen zuf  lligen Kodenamen oder einen VCS Hashwert als Teil der Version verwenden  stellen Sie sicher  dass sie das von der  Version der Originalautoren entfernen  Diese Informationen k  nnen in der Datei debian changelog festgehalten werden   Falls Sie eine Versionsnummer erfinden m  ssen  vewrenden Sie das Format YYYYMMDD  wie 20110429  als Versionsnummer  der Originalautoren  Das stellt sicher  dass dpkg neuere Versionen korrekt als Upgrades interpretiert  Falls Sie in der Zukunft  reibungslose   berg  nge zu dem normalen Versionsschemata wie O  1 sicherstellen m  ssen  verwenden Sie das stattdessen das  Format 0 YYMMDD  wie 0 110429  als Versionsnummer der Originalautoren     Versionsnummern     k  nnen mit dpkg 1  wie folgt verglichen werden       dpkg   compare versions Ver1 Op Ver2  Die Versionsvergleichsregeln k  nnen wie folgt zusammengefasst werden     e Zeichenketten werden von Anfang bis Ende verglichen   e Buchstaben sind gr    er als Ziffern      Zahlen werden als Ganzzahlen verglichen        Buchstaben werden in ASCII Sortierreihenfolge verglichen        10 Sje k  nnen dies automatisieren  indem Sie das Paket dh autoreconf installieren  Lesen Sie Abschnitt 4 4 3    H Die Standardpaketnamenfeldl  nge von aptitude betr  gt 30  F  r mehr als 90  der Pakete ist die L  nge des Namens weniger
26.  semi offiziell        Debian Wiki  HelpDebian  http   wiki debian org HelpDebian   erg  nzend      Debian New Member site  https   nm debian org    offiziell        Debian Mentors FAQ  http   wiki debian org DebianMentorsFag   erg  nzend        Debian Leitfaden f  r Neue Paketbetreuer 3 63       1 2 Programme  die zum Entwickeln notwendig sind    Bevor Sie loslegen k  nnen  m  ssen Sie sicherstellen  dass einige zus  tzliche Pakete richtig installiert sind  die f  r die Entwicklung  ben  tigt werden  Beachten Sie  dass die Liste keine Pakete enth  lt  die als essential oder required markiert sind   wir gehen  davon aus  dass Sie diese schon installiert haben     Die folgenden Pakete sind in der Standardinstallation von Debian enthalten  also werden Sie sie vermutlich schon haben  und  zus  tzliche Pakete  von denen diese abh  ngen   Sie sollten dies dennoch mit aptitude show Paket oder dpkg  s Paket    berpr  fen     Das wichtigste Paket  dass auf Ihrem Entwicklungssystem installiert werden sollte  ist das Paket build essential  Wenn  Sie es installieren  wird es andere Pakete hinterherziehen    pull in     die f  r eine grundlegende Build Umgebung notwendig sind     F  r manche Arten von Paketen ist das alles  was Sie ben  tigen  Es gibt allerdings noch eine weitere Sammlung von Paketen  die    obwohl sie nicht essenziell f  r jede Paketerstellung sind   sinnvoll installiert werden k  nnen oder sogar von Ihrem Paket ben  tigt  werden     e autoconf  automake und autotools d
27.  sind  Es wird von dh_installinit 1  in das tempor  re  Verzeichnis installiert     Die Datei Paket   default wird als  etc default Paket installiert  Diese Datei legt Voreinstellungen fest  die vom Init   Skript eingelesen werden  Diese Datei package  default wird meistens zur Deaktivierung der Ausf  hrung eines Daemons  oder zur Einstellung einiger voreingestellter Schalter oder Zeit  berschreitungen verwandt  Falls in Ihrem init Skript bestimmte  einstellbare Funktionen sind  k  nnen Sie diese in der Datei package  default statt im init Skript selbst einstellen     Falls Ihr Programm der Originalautoren eine Datei f  r ein Init Skript bereitstellt  k  nnen Sie dies entweder benutzten oder ein  eigenes erstellen  Falls Sie das mitgelieferte init Skript nicht verwenden  erstellen Sie ein neues in Paket   init  Falls das von  den Originalautoren mitgelieferte Init Skript aber gut aussieht und an der richtigen Stelle installiert wird  m  ssen Sie trotzdem  die symbolischen Links f  r rc  erzeugen  Daf  r m  ssen Sie dh_installinit in der Datei rules mit den folgenden Zeilen   ber   schreiben     override_dh_installinit   dh_installinit   onlyscripts    Falls Sie das nicht ben  tigen  l  schen Sie die Dateien     5 11 install    Falls es Dateien gibt  die in Ihr Paket installiert werden m  ssen  die aber vom Standardaufruf    make install   nicht erfasst  werden  schreiben Sie diese Dateinamen und Ziele in die Datei install  Sie werden dann von dh_install 1  installiert    Sie 
28.  um kompatibel zu der Verwendung von dash als System Shell zu bleiben        Debian Leitfaden f  r Neue Paketbetreuer 40   63         watch control file for uscan  version 3  http   sf net gentoo gentoo       tar  gz debian uupdate    Normalerweise w  rde mit einer watch Datei die URL unter  http   sf net gentoo   heruntergeladen und nach Links im  Format   lt a href       gt    durchsucht  Der Basisname  nur der Teil nach dem letzten        jeder verlinkten URL wird mit dem  regul  ren Perl Ausdruck  siehe perlre 1     gentoo       tar  gz   verglichen  Von allen Dateien  auf die der Ausdruck  passt  wird die Datei mit der h  chsten Versionsnummer heruntergeladen  Das Programm uupdate wird dann ausgef  hrt  um  daraus den aktualisierten Quelltextbaum zu erzeugen     Dies stimmt zwar f  r andere Websites  doch das Herunterladen von SourceForge unter http   sf net ist eine Ausnahme  Wenn die  Datei watch eine URL enth  lt  auf die der regul  re Perl Ausdruck    http   sf  net    passt  wird diese vom Programm  uscan durch   http   qga debian org watch sf php    ersetzt und erst dann die nachfolgenden Regeln angewendet   Die URL Umleitungsfunktion unter http   qa debian org  ist entwickelt worden  um einen stabilen Umleitungsservice f  r jedes  watch Muster der Form   http   sf net Projekt tar Name       tar  gZ   in der Datei watch bereitzustellen   Hierdurch wird das Problem gel  st  dass SourceForge URLs regelm    ig ge  ndert werden     Falls die Originalautoren eine krypto
29.  und  info automake       Der zweite Schritt im Arbeitsablauf der Autotools ist   blicherweise  dass der Benutzer diese verteilten Quellen erh  lt und        configure  amp  amp  make  inden Quellen aufruft  um das Programm zu einem ausf  hrbaren Bin  rdatei Befehl zu kompilieren     Makefile in            gt  Makefile          gt  make   gt  binary  src Makefile in     gt    configure     gt  src Makefile     config h in            gt  config h            config status     config guess           8 Viele moderne Programme kommen mit einem Skript configure  das bei der Ausf  hrung eine f  r Ihr System angepasstes Makefile erstellt    9 Autotools ist zu umfangreich  um in dieser Anleitung ber  cksichtigt zu werden  Dieser Abschnitt dient nur der Bereitstellung von Schl  sselw  rtern und  Referenzen  Falls Sie sie ben  tigen  stellen Sie sicher  dass Sie das Autotools Tutorial  http   www  Irde epita fr  adl autotools html  und die lokale Kopie der   usr share doc autotools dev README   Debian gz lesen        Debian Leitfaden f  r Neue Paketbetreuer 11 63       Sie k  nnen in der Datei Makefile viele Dinge   ndern  beispielsweise k  nnen Sie den voreingestellten Installationsort f  r  Dateien   ndern  idem Sie die Befehlszeilenoption     configure   prefix  usr   benutzen     Obwohl es nicht erforderlich ist  kann die Aktualisierung der Datei configure und anderer Dateien mittels   autoreconf    i  f   die Kompatibilit  t der Quellen verbessern  1      CMake ist ein alternatives
30.  verk  rzt  In der richtigen rules Datei sind die  f  hrenden Leerzeichen Tabulatoren      Sie sind wahrscheinlich mit   hnlichen Zeilen wie der Zeile 1 aus Shell  oder Perl Skripten vertraut  Sie teilt dem Betriebssystem  mit  dass das Skript mit  usr bin make verarbeitet werden soll     In Zeile 4 kann der Kommentar entfernt werden  damit die Variable DH_VERBOSE auf 1 gesetzt wird  Dann gibt der Befehl  dh aus  welche dh_  Befehle er ausf  hrt  Sie k  nnen hier auch eine Zeile   export DH_OPTIONS  v   hinzuf  gen  Dann  gibt jeder dh_  Befehl aus  welche Befehle von jedem dh_  Befehl ausgef  hrt werden  Das hilft Ihnen dabei  zu verstehen  was  genau hinter den Kulissen dieser einfachen rules Datei passiert  So k  nnen Sie Probleme besser finden  Das neue dh ist als ein  zentraler Bestandteil der debhelper Werkzeuge entwickelt worden und versteckt nichts vor Ihnen     In den Zeilen 20 und 21 wird die gesamte Arbeit mit einer impliziten Regel  die die Muster Regel verwendet  erledigt  Das  Prozentzeichen steht f  r ein   beliebiges Ziel    das dann lediglich ein Programm aufruft  n  mlich dh mit dem Namen des Ziels   16 Der Befehl dh ist ein Skript  das abh  ngig vom   bergebenen Argument die entsprechenden Sequenzen von dh_  Programmen  ausf  hrt  17    e   debian rules clean  ruft  dh clean   auf  das wiederum das Folgende ausf  hrt     dh_testdir  dh_auto_clean  dh_clean    e   debian rules build  ruft  dh build   auf  das wiederum das Folgende ausf  hrt     dh_testdir  d
31.  werden     dass der Name des Pakets als Pr  fix vor den Namen der Konfigurationsdatei gestellt wird  Beispiele sind Paket 1 install   Paket 2 install usw     5 1 README Debian    Alle zus  tzlichen Details oder Unterschiede zwischen dem urspr  nglichen Paket und Ihrer Debian Version sollten hier dokumen   tiert werden     dh_make erstellt eine Standardvorlage  die so aussieht        1 In diesem Kapitel werden zur Vereinfachung Dateien im Verzeichnis debian ohne das einleitende debian  referenziert  wann immer die Bedeutung  eindeutig ist        Debian Leitfaden f  r Neue Paketbetreuer 33 63       gentoo for Debian     lt possible notes regarding this package   if none  delete this file gt      Josip Rodin  lt joy mg debian org gt   Wed  11 Nov 1998 21 02 14  0100    Falls Sie nichts zu dokumentieren haben  l  schen Sie diese Datei  Siehe dh_installdocs 1      5 2 compat    Die Datei compat legt die debhelper Kompatibilit  tsstufe fest  Derzeit sollten Sie debhelper V9 verwenden  indem Sie  folgendes ausf  hren       echo 9  gt  debian compat    5 3 conffiles    Eine der   rgerlichsten Sachen bei Software ist es  wenn Sie richtig viel Zeit und M  he in die Konfiguration eines Programms  investieren und schon das n  chste Upgrade alle Ihre   nderungen zunichte macht  Debian l  st dieses Problem  indem diese Kon   figurationsdateien als Conffiles markiert werden     Wenn Sie ein Upgrade eines Pakets durchf  hren werden  werden Sie gefragt   ob Sie Ihre alte Konfigurationsdateie
32. 1  fiir uns in das tempor  re Verzeichnis in   stalliert     Standardm    ig schlie  t das alle Dateien im obersten Verzeichnis des Quellcodes ein  die da hei  en   BUGS      README         TODO   usw     F  r gentoo werden noch weitere Dateien hinzugef  gt        Debian Leitfaden f  r Neue Paketbetreuer 35 63       BUGS  CONFIG CHANGES  CREDITS   NEWS   README  README gtkrc  TODO    5 8 emacsen      Falls Ihr Paket Emacs Dateien bereitstellt  die w  hrend der Installation des Pakets kompiliert werden  k  nnen Sie diese Dateien  daf  r nutzen     Sie werden durch dh_installemacsen 1  ins tempor  re Verzeichnis installiert     Falls Sie dies nicht ben  tigen  l  schen Sie die Dateien     5 9 Paket  examples    Der Befehl dh_installexamples 1  installiert die in dieser Datei aufgelisteten Dateien und Verzeichnisse als Beispieldateien     5 10 paket  init und raket   default    Falls Ihr Paket einen Daemon enth  lt  der beim Hochfahren des Systems gestartet werden muss  haben Sie offensichtlich meine  anf  ngliche Empfehlung missachtet  stimmt s         Die Datei Paket init wird als Skript  etc init d Paket installiert  das den Daemon startet und beendet  Die Vorlage  mit einem sehr allgemeinen Grundger  st wird als init d ex vom Befehl dh_make bereitgestellt  Sie m  ssen sie umbenennen  und wahrscheinlich  viel  anpassen  Gleichzeitig m  ssen Sie darauf achten  dass die Kopfzeilen konform zur Linux Standard  Base  http   www linuxfoundation org collaborate workgroups lsb   LSB 
33. 3 changelog    Dies ist eine zwingend vorgeschriebene Datei  deren Format in den Debian Policy Manual  Kapitel 4 4   debian changelog     http   www debian org doc debian policy ch source html s dpkgchangelog  beschrieben wird  Dieses Format ben  tigen dpkg  und andere Programme um die Versionsnummer  Revision  Distribution und die Dringlichkeit Ihres Pakets zu bestimmen     F  r Sie ist die Datei ebenfalls wichtig  weil es sinnvoll ist  alle von Ihnen vorgenommenen   nderungen zu dokumentieren  Damit  k  nnen Leute  die Ihr Paket herunterladen  einfacher herausfinden  ob es Probleme mit dem Paket gibt  die sie kennen sollten   Diese Datei wird im Bin  rpaket als  usr share doc gentoo changelog Debian gz gespeichert     dh_make hat eine Standardvorlage erstellt  die so aussieht        Debian Leitfaden f  r Neue Paketbetreuer 25 63       gentoo  0 9 12 1  unstable  urgency low    Initial release  Closes   nnnn   lt nnnn ist die Fehlernummer Ihres ITP gt     1  2  3  4  5    Josip Rodin  lt joy mg debian org gt  Mon  22 Mar 2010 00 37 31  0100  6     Die Zeilennummerierung habe ich hinzugef  gt      In der Zeile 1 stehen der Paketname  die Version  die Distribution und die Dringlichkeit  Der Name muss mit dem Namen des  Quellpakets   bereinstimmen  die Distribution sollte unstable sein und die Dringlichkeit sollte nicht auf etwas h  heres als Low  ge  ndert werden         Zeilen 3 5 sind ein Protokolleintrag  in denen Sie die in dieser Paketrevision gemachten   nderungen dokume
34. 9 12 rc99 tar gz umbenennen     2 7 Einrichten von dh_make    Richten Sie die Umgebungsvariablen  DEBEMAIL und  DEBFULLNAME in der Shell ein  damit verschiedene Debian Wartungswerkzeu   Ihre E Mail Adresse und Ihren Namen f  r Pakete verwenden k  nnen           cat  gt  gt    bashrc  lt  lt EOF  DEBEMAIL  Ihre E Mail Adresse example org     DEBFULLNAME  Vorname Nachname      export DEBEMAIL DEBFULLNAME   EOF          bashrc    2 8 Das erste nicht native Debian Paket    Normale Debian Pakete sind nicht native Debian Pakete  die aus Quellen von Originalautoren erzeugt werden  Falls Sie ein nicht  natives Debian Paket von den Quellen der Originalautoren gentoo 0 9 12 tar gz erstellen wollen  k  nnen sie ein erstes  nicht natives Debian Paket daf  r mittels des Befehl dh_make wie folgt erstellen     cd   gentoo   wget http   example org gentoo 0 9 12 tar gz  tar  xvzf gentoo 0 9 12 tar gz   cd gentoo 0 9 12   dh_make  f    gentoo 0 9 12 tar gz    NANA    Nat  rlich ersetzen Sie den Dateinamen mit dem Namen Ihres urspr  nglichen Quellcode Archivs       Siehe dh_make 8  f  r Details     Sie sollten irgendeine Ausgabe sehen  die Sie fragt  welche Art Paket Sie erstellen wollen  Gentoo ist ein   single binary package      es wird nur ein Bin  rpaket  d h  eine   deb Datei erstellt  also w  hlen Sie die erste Option  mit der   s   Taste     berpr  fen  nochmal die Informationen auf dem Bildschirm und best  tigen mit   EINGABE    18    Dieser Aufruf von dh_make erstellt eine Kopie des 
35. BED BEE  de oie a dr a a lets dedo ds de dp decia   rida do 34  po MACS  abanico A tana aa aaa 35  59 Pakot  examples   coooconsr conan a a a a a a a 35  5 10 Paket  init und Parket defa  lE 22 24 HR RR a a a sa 35  511 Install   2 242 048 da Brei da a A 35  IE Pa a a a ea a ee ak Klee ee alien a a ren rn Beten dag BER den a A Aida a ee 36  Sid Pakets LINKS o ne A ea sa ara Din 36  5 14  Paket   source  lintian overrides                       e       36  Al Map ee A A ie De ES A aa 36  ls MANAGE  LB BE EEE ah 37  3132 manpage  Sql EX aan id a ed 37  5 153 manpage XUL  orire 2 ao dna aa aa e a a ae langer 37  SAG Paket MANDATOS oos a rade ac a ee a ee 38  ALT MEMO osere a a e e a ea a a ee a 38  5 18 NEWS 2 0  0 8 a a Be ne an 39  II PASE DEE I TNSE   FM nen a A e AA ERA 39  520 Pakets SUMBDES  iia ersehen eher 39  SE TODO AI en ee 39  EI REN O a a ee ee ee ee end 39  5 23 SOUrCE TOrMAE    urn nn ae mann 40  5 23 source local options  lt  lt  a a ea Er a ea u u 40  525 SUECO LOCA DRE LITE  socias oa en na a ud a 41  Dl En se dd AS Biden 32 danke gan ar acc dar dd ee BE den ade dt a tee 41  6 Bau des Pakets 42  GL  Kompletter  Ne JB oa  20 20 aa aan ee a a a a ah 42  6  Autobuilder ceas ses seen Ba a ee ar en 43  Ga DerBeichl   debuilld  soso 3 2  Eh a mn aa sea ne a RA I Bene a 44  64 Das Paket pbullder 22 2 3 corro wenn ana naar ren 45  6 5 Der Befehl git buildpackage und   hnliche                      e    46  GE Schueller Nouba oo iaa a a a a a a A a a 47  67 Beiehkbiar  rc
36. C  angesehen wird       Lassen Sie uns das Paket pbuilder folgenderma  en anpassen     e Machen Sie das Verzeichnis  var cache pbuilder result f  r Ihr Benutzerkonto schreibbar        Erstellen Sie ein Verzeichnis  z B   var cache pbuilder hooks  das ebenfalls f  r den Benutzer schreibbar ist  so dass  Hook Skripts dort abgelegt werden k  nnen     e Konfigurieren Sie die Datei    pbuilderrc oder  etc pbuilderrc  so dass sie folgendes enth  lt     AUTO_DEBSIGN   AUTO_DEBSIGN   no   HOOKDIR  var cache pbuilder hooks    Lassen Sie uns zuerst das lokale pbuilder chroot System wie folgt initialisieren       sudo pbuilder create    Falls Sie ein Quellpaket schon komplett fertiggestellt haben  f  hren Sie die folgenden Befehle in dem Verzeichnis aus  in dem  die Dateien foo orig tar gz  foo debian tar gz und foo  dsc liegen  um das lokale pbuilder chroot System zu  aktualisieren und Bin  rpakete darin zu bauen       sudo pbuilder   update    sudo pbuilder   build foo_Version dsc    Die neu erstellten Pakete ohne GPG Signaturen werden unter  var cache pbuilder result  mit einem nicht root   Eigent  mer abgelegt     Die GPG Unterschriften f  r die Dateien   dsc und  changes k  nnen wie folgt erstellt werden       cd  var cache pbuilder result     debsign foo_Version_Arch changes    Falls Sie bereits ein aktualisiertes Quellverzeichnis haben  ohne dass die dazu passenden Quellpakete erstellt wurden  f  hren Sie  stattdessen die folgenden Befehle in dem Quellverzeichnis aus  in dem das 
37. Debian Chroot Umgebungswerkzeuges     pdebuild   pbuilder   dpkg buildpackage  in der Chroot bauen      cowbuilder   Ausf  hrung von pbuilder beschleunigen     git pbuilder   die einfach zu benutzende Syntax f  r pdebuild  von gbp buildpackage verwandt    e gbp   Debian Quellen in einem Git Depot verwalten      gbp buildpackage   pbuilder   dpkg buildpackage   gbp   Obwohl die Verwendung von abstrakteren Befehlen wie gbp buildpackage und pbuilder eine perfekte Paketbauumgebung    sicherstellen  ist es essenziell  zu verstehen  wie die systemnahen Befehle wie debian rules und dpkg buildpackage un   ter ihnen ausgef  hrt werden          Building Debian Packages with git buildpackage     usr share doc git buildpackage manual html gbp html       debian packages in git  https   honk sigxcpu org piki development debian_packages_in_git           Using Git for Debian Packaging  http   www eyrie org    eagle notes debian git html          git dpm  Debian packages in Git manager  http   git dpm alioth debian org       e Using TopGit to generate quilt series for Debian packaging   http   git debian org  p collab maint topgit git a blob_plain f debian HOWTO   tg2quilt hb HEAD     13 Umgebungsvariablen  die normalerweise auf vern  nftige Werte gesetzt sind  werden bei dieser Methode nicht eingerichtet  Erstellen Sie niemals echte  Pakete  die hochgeladen werden sollen  mit dieser schnellen Methode        Debian Leitfaden f  r Neue Paketbetreuer 48   63       Kapitel 7    Uberprifen des Pa
38. Debian Leitfaden f  r Neue Paketbetreuer       Debian Leitfaden f  r Neue Paketbetreuer       Debian Leitfaden f  r Neue Paketbetreuer       Copyright    1998 2002 Josip Rodin  Copyright    2005 2015 Osamu Aoki  Copyright    2010 Craig Small  Copyright    2010 Rapha  l Hertzog    Dieses Dokument darf gem     der Bedingungen der GNU General Public License Version 2 oder neuer verwendet werden     Diesem Dokument liegen die Beispiele der folgenden zwei Dokumente zu Grunde     e Making a Debian Package  AKA the Debmake Manual   Copyright    1997 Jaldhar Vyas     The New Maintainer   s Debian Packaging Howto  Copyright    1997 Will Lowe        Debian Leitfaden f  r Neue Paketbetreuer                                                                MITWIRKENDE  TITEL   Debian Leitfaden f  r Neue Paketbetreuer  AKTION NAME DATUM UNTERSCHRIFT  VERFASST Josip Rodin  9  Juni 2015  DURCH Osamu Aoki   Helge Kreutzmann   Tobias Quathamer   Erik Schanze und  Eduard Bloch  Deutsche 9  Juni 2015  Ubersetzung  Deutsche 9  Juni 2015  Ubersetzung  Deutsche 9  Juni 2015  Ubersetzung  Deutsche 9  Juni 2015  Ubersetzung  VERSIONSGESCHICHTE  NUMMER DATUM BESCHREIBUNG NAME                            Debian Leitfaden f  r Neue Paketbetreuer       Inhaltsverzeichnis    1 Einstieg  aber richtig     11 Soziale Dynamik von Debian    lt o sir von sa ae an Bi ar an a a ai  1 2 Programme  die zum Entwickeln notwendig sind        CC aoaaa  1 3 Dokumentation  die zum Entwickeln gebraucht wird     2 2  22mm nen
39. Fehlersuche zu helfen    e 0  f  r   au  er Kraft gesetzt    eine Meldung  die durch Dateien lintian overrides au  er Kraft gesetzt  von der Option      show overrides aber angezeigt wurde     Wenn Sie Warnungen sehen  passen Sie Ihr Paket an  um diese zu vermeiden oder   berpr  fen Sie  dass die Warnungen unberechtigt  sind  Falls Sie unberechtigt sind  legen Sie Dateien lintian overrides wie in Abschnitt 5 14 beschrieben an     Beachten Sie  dass Sie das Paket mit dpkg buildpackage bauen und lintian in einem Befehl darauf anwenden k  nnen  falls Sie  debuild 1  oder pdebuild 1  verwenden        1 Sie m  ssen die Option  i  I   show overrides von lintian angeben  falls Sie  etc devscripts conf oder    devscripts wie in  Abschnitt 6 3 beschrieben angepasst haben        Debian Leitfaden f  r Neue Paketbetreuer 50   63       7 5 Der Befehl debc    Sie k  nnen Dateien im bin  ren Debian Paket mit dem Befehl debc 1  auflisten       debc package changes    7 6 Der Befehl debdiff    Sie k  nnen Dateiinhalte in zwei Debian Quellpaketen mit dem Befehl debdiff 1  vergleichen       debdiff altes Paket dsc neues Paket  dsc    Sie k  nnen Dateilisten in zwei Gruppen von bin  ren Debian Paketen mit dem Befehl debdiff 1  vergleichen       debdiff altes Paket changes neues Paket changes    Sie sind n  tzlich  um zu identifizieren  wass in den Quellpaketen ge  ndert wurde und auf unbeabsichtigte   nderungen beim  Aktualisieren der Bin  rpakete zu pr  fen  wie versehentlich fehlplatzierte ode
40. Manual  Kapitel 2 4   Sections    http   www debian org doc debian policy ch archive html s subsections  und Liste der Ab   schnitte in sid  http   packages debian org unstable      3 Lesen Sie das Debian Policy Manual  Kapitel 2 5   Priorities    http   www debian org doc debian policy ch archive html s priorities         Lesen Sie das Debian Policy Manual  Kapitel 7 7   Relationships between source and binary packages   Build Depends  Build Depends Indep  Build   Conflicts  Build Conflicts Indep    http   www debian org doc debian policy ch relationships html s sourcebinarydeps     5 Diese etwas merkw  rdige Situation ist eine Besonderheit  die in dem Debian Policy Manual  Fu  note 55  http   www debian org doc debian policy    footnotes html tf55  sehr gut dokumentiert ist  Es liegt nicht an der Verwendung des Befehls dh in der Datei debian rules  sondern daran  wie das Programm  dpkg buildpackage arbeitet  Dieselbe Situation gilt auch f  r das   auto build system   von Ubuntu  https   bugs launchpad net launchpad buildd  bug 238141          Debian Leitfaden f  r Neue Paketbetreuer 21 63         dpkg  S libfoo so 6    Dann nehmen Sie einfach die Entwicklerversion    dev  jedes Pakets als einen Build Depends Eintrag  Falls Sie daf  r Idd  benutzen  werden auch indirekt abh  ngende Bibliotheken aufgelistet und   berfl  ssige Bauabh  ngigkeiten geliefert     Gentoo ben  tigt noch xlibs dev  1ibgtk1 2 dev und libglib1 2 dev um gebaut werden zu k  nnen  deshalb h  n   gen wir d
41. Sicherheitsprobleme und Betreuungssorgen zum Debian System hinzuf  gen         Das Programm sollte gut dokumentiert und der Quellcode verst  ndlich  d h  nicht verschleiert  sein         Sie sollten den oder die Autoren des Programms kontaktieren und sicherstellen  dass sie mit dem Paketieren einverstanden  und Debian wohlgesonnen sind  Es ist wichtig  dass die Autoren auch sp  ter im Fall von Problemen   ber das Programm  befragt werden k  nnen  Versuchen Sie also nicht  aufgegebene Programme zu paketieren         Das Programm sollte sicherlich nicht als   setuid root   laufen  oder noch besser  es sollte f  r die Ausf  hrung   berhaupt keine  setuid  oder setgid Rechte brauchen         Das Programm sollte kein Daemon sein oder in die Verzeichnisse   sbin installiert werden und auch keinen Port als Root    ffnen     Nat  rlich ist der zuletzt aufgef  hrt Punkte eher eine Sicherheitsma  nahme und sollte Sie vor tobenden Benutzern sch  tzen  falls  Ihr setuid Daemon irgendetwas Schlimmes anstellt     Wenn Sie mehr Erfahrungen im Erstellen von Paketen gesammelt haben   k  nnen Sie sich auch solche Software paketieren     Als neuer Betreuer wird Ihnen empfohlen  Erfahrung im Paketieren einfacher Pakete zu sammeln und Ihnen abgeraten  kompli   zierte Pakete zu erstellen      Einfache Pakete        einfaches Bin  rpaket  arch all  Sammlung von Daten  wie Hintergrundgraphiken         einfaches Bin  rpaket  arch all  in interpretierten Sprachen wie POSIX Shell geschriebene Programme
42. T_PATCHES    then    falls in Debian Paketbaum mit ungesetztem  QUILT_PATCHES  QUILT_PATCHES  debian patches     QUILT_PATCH_OPTS     reject format unified     QUILT_DIFF_ARGS   p ab   no timestamps   no index   color auto     QUILT_REFRESH_ARGS   p ab   no timestamps   no index     QUILT_COLORS  diff_hdr 1 32 diff_add 1 34 diff_rem 1 31 diff_hunk 1 33 diff_ctx 35     diff_cctx 33   if      d  d debian patches    then mkdir  d debian patches  fi  fi    Siehe quilt 1  und  usr share doc quilt quilt pdf gz f  r eine Anleitung  wie quilt benutzt wird     3 2 Fehler in den urspr  nglichen Quellen korrigieren    Nehmen wir an  Sie finden den folgenden Fehler in der urspr  nglichen Makefile  wo statt    install gentoo   besser    install gentoo target   stehen sollte     install  gentoo  install   gentoo   BIN   install icons     ICONS   install gentoorc example   HOME   gentoorc       Debian Leitfaden f  r Neue Paketbetreuer 15 63       Wir beheben dies und speichern es mit dem Befehl quilt wie folgt als fix gentoo target patch         mkdir debian patches    dquilt new fix gentoo target patch    dquilt add Makefile    Sie k  nnen die Datei Makefile wie folgt   ndern     install  gentoo target  install   gentoo   BIN   install icons     ICONS   install gentoorc example   HOME   gentoorc    Jetzt muss dquilt noch mitgeteilt werden  dass der Patch erzeugt werden soll  so dass die Datei debian patches fix gentoo tat  patch erstellt wird  Au  erdem sollen Sie eine Beschreibung gem    
43. Verzeichnis debian enthalten ist       sudo pbuilder   update    pdebuild    Sie k  nnen sich in der erstellten chroot Umgebung anmelden  indem Sie den Befehl  pbuilder   login   save after   login   verwenden und diese dann so einrichten wie Sie wollen  Diese Umgebung kann gespeichert werden  indem die Shell   Eingabeaufforderung mittels  D  Steuerung D  verlassen wird     Die aktuelle Version des Programms lintian kann in der chroot Umgebung ausgef  hrt werden  indem das Hook Skript  var   cache pbuilder hooks B90lintian wie folgt eingerichtet wird  7       bin sh  set  e  install_packages      apt get  y   force yes install                5 Weil das Paket pbuilder st  ndig weiterentwickelt wird  sollten Sie die tats  chliche Konfiguration herausfinden  indem Sie die aktuelle offizielle Doku   mentation durchlesen    6 Lesen Sie http   buildd debian org  f  r weitere Informationen   ber das automatische Bauen von Debian Paketen    7 Dies setzt HOOKDIR  var cache pbuilder hooks voraus  Sie finden viele Beispiele f  r Hook Skripte im Verzeichnis  usr share doc   pbuilder examples        Debian Leitfaden f  r Neue Paketbetreuer 46   63            install_packages lintian   echo      lintian output          su  c    lintian  i  I   show overrides  tmp buildd   changes      pbuilder     Verwenden Sie diese Version  falls Lintian beim Bau nicht fehlschlagen soll   su  c  lintian  i  I   show overrides  tmp buildd   changes         pbuilder  echo      end of lintian output        
44. aden f  r Neue Paketbetreuer 58 63       Anhang A    Fortgeschrittene Paketierung    Es folgen einige Tipps und Verweise f  r fortgeschrittene Paketierungsfragen  mit denen Sie wahrscheinlich zu tun bekommen  werden  Es wird Ihnen nachdr  cklich empfohlen  alle hier vorgeschlagenen Referenzen zu lesen     Es k  nnte sein  dass Sie die durch den Befehl dh_make erstellten Paketierungsvorlagendateien manuell bearbeiten m  ssen  um  Punkte aus diesem Kapitel zu ber  cksichtigen  Der neuere Befehl debmake sollte diese Punkte besser ber  cksichtigen     A 1 Laufzeit Bibliothek    Bevor Sie Laufzeit Bibliotheken paketieren  sollten Sie die folgenden Referenzen im Detail lesen        Debian Policy Manual  Kapitel 8   Shared libraries    http   www debian org doc debian policy ch sharedlibs html     e Debian Policy Manual  Kapitel 9 1 1   File System Structure    http   www debian org doc debian policy ch opersys html s   fhs     e Debian Policy Manual  Kapitel 10 2   Libraries    http   www debian org doc debian policy ch files html s libraries     Es folgen einige stark vereinfachte Tipps f  r den Anfang     Laufzeitbibliotheken  engl    shared libraries    sind ELF Objektdateien  die   bersetzten Code enthalten     Laufzeitbibliotheken werden als     so Dateien vertrieben  d h  weder als     a  noch als     1a Dateien     Laufzeitbibliotheken werden haupts  chlich benutzt  um gemeinsamen Programmcode aus mehreren Programmen mittels des  Id Mechanismus gemeinsam zu benutzen     Lauf
45. aften des Paketsystems von Debian  Pakete k  nnen auf verschiedene Arten mit   einander in Beziehung stehen  Neben Depends  h  ngt ab von  gibt es noch die Beziehungsfelder Recommends  empfiehlt    Suggests  schl  gt vor   Pre Depends  setzt voraus   Breaks  besch  digt   Conflicts  kollidiert mit   Provides  ent   h  lt  und Replaces  ersetzt      Die verschiedenen Paketverwaltungswerkzeuge verhalten sich normalerweise bei der Behandlung dieser Beziehungen gleich   wenn nicht  wird dies erkl  rt  siehe dpkg 8   dselect 8   apt 8   aptitude 1  usw       Es folgt eine vereinfachte Beschreibung der Paketbeziehungen  7          Depends    Das Paket wird erst installiert  wenn die hier aufgelisteten Pakete ebenfalls installiert sind  Benutzen Sie dies  falls ihr Programm  ohne ein bestimmtes Paket   berhaupt nicht l  uft  oder schwere Sch  den verursacht         Recommends    Benutzen Sie dies f  r Pakete  die nicht absolut notwendig sind  die aber typischerweise mit Ihrem Programm verwendet werden   Wenn ein Benutzer Ihr Programm installiert  fragen wahrscheinlich alle Oberfl  chen nach  ob die empfohlenen Pakete auch  installiert werden sollen  aptitude und apt get installieren alle empfohlenen Pakete zusammen mit Ihrem Paket  aber der  Benutzer kann diese Voreinstellung deaktivieren   dpkg ignoriert dieses Feld        6 Lesen Sie Debian Policy Manual  Kapitel 5 6 8   Architecture    http   www debian org doc debian policy ch controlfields html s f Architecture  f  r die  genau
46. akets sind von http   snapshot debian org   http   snapshot debian org   erh  ltlich  Die Debian Revision wird von  der Version entfernt  um das R  ckportieren eines Paketes zu erleichtern  1 1  lt  lt  1 1 1 bpo70 1 lt  lt 1 1 1and1 2 lt  lt 1 2 1 bpo70 1 lt  lt 1 2 1       Debian Leitfaden f  r Neue Paketbetreuer 60   63         dpkg deb  x libfoo1_1 1 1 deb libfoo1_1 1 1     dpkg deb  x libfoo1_1 2 1 deb libfoo1_1 2 1        gt  symbols     dpkg gensymbols  v1 1  plibfoo1  Plibfoo1_1 1 1  Osymbols    dpkg gensymbols  v1 2  plibfoo1  Plibfoo1_1 2 1  Osymbols    e Bauen Sie mit Werkzeugen wie debuild und pdebuild versuchsweise den Quellbaum   Falls das aufgrund fehlender Symbo   le usw  fehlschl  gt  gibt es einige r  ckw  rtsinkompatible ABI   nderungen  die es notwendig machen  den Paketnamen der  Laufzeitbibliothek auf etwas wie libfoo1a zu erh  hen  Sie sollten dann wieder von vorne anfangen        cd libfoo 1 3    debuild    dpkg gensymbols  Warnung  einige neue Symbole sind in der Symboldatei aufgetaucht      lesen Sie die folgende Diff Ausgabe      debian libfoo1 symbols  libfoo1_1 3 1_amd64       dpkg gensymbolsFE5gzx 2012 11 11 02 24 53 609667389  0900  00  127 6  127 7 00  foo_get_name Base 1 1  foo_get_longname Base 1 2  foo_get_type Base 1 1    foo_get_longtype Base 1 3 1  foo_get_symbol Base 1 1  foo_get_rank Base 1 1  foo_new Base 1 1    e Falls Sie wie oben den von dpkg gensymbols ausgegebenen Diff sehen  extrahieren Sie die korrekte symbols Datei aus dem  ers
47. alt der Datei   changes  um sicherzustellen  dass Sie in die korrekte Distribution hochladen  die richtigen  Fehlerschlie  anweisungen im Feld Closes enthalten sind  die Felder Maintainer and Changed By passen  die Datei  GPG unterschrieben ist usw        Debian Leitfaden f  r Neue Paketbetreuer 56   63       Kapitel 9    Das Paket hochladen    Nachdem Sie jetzt das neue Paket intensiv getestet haben  m  chten Sie es zur gemeinsamen Benutzung in ein   ffentliches Archiv  hochladen     9 1 In das Debian Archiv hochladen    Sobald Sie ein offizieller Entwickler werden  t k  nnen Sie das Paket in das Debian Archiv hochladen      Sie k  nnen dies manuell  erledigen  aber es ist leichter  eines der bestehenden automatischen Werkzeuge zu verwenden  wie dupload 1  oder dput 1   Wir  beschreiben  wie es mit dem Befehl dupload gemacht wird       Zuerst m  ssen Sie die Konfigurationsdatei von dupload einrichten  Sie k  nnen entweder die systemweite Datei  etc dupload   conf bearbeiten oder durch Ihre pers  nliche Datei    dupload conf die wenigen Dinge  die Sie   ndern m  chten    ber   schreiben     Sie k  nnen die Handbuchseite dupload conf 5  lesen  um zu verstehen  was jede dieser Optionen bedeutet     Die Option  default_host bestimmt  welche der Upload Warteschlangen standardm    ig benutzt wird  anonymous ftp   master ist die prim  re  aber es ist m  glich  dass Sie eine andere benutzen m  chten       W  hrend Sie mit dem Internet verbunden Sie  k  nnen Sie Ihr Paket wie folgt h
48. an Projekts mit unbeschr  nkten Rechten  Pakete in das  offizielle Debian Paketarchiv hochzuladen       Debian Betreuer    Debian Maintainer    DM   Eine Person  die beschr  nkte Rechte hat  Pakete in das offizielle Debian   Paketarchiv hochzuladen     Bitte beachten Sie  dass Sie nicht   ber Nacht offizieller Debian Entwickler    Debian Developer    DD  werden k  nnen  weil  es daf  r mehr als nur technische F  higkeiten braucht  Bitte lassen Sie sich davon nicht entmutigen  Wenn Ihr Paket f  r andere  n  tzlich ist  k  nnen Sie es entweder als Betreuer   ber einen Sponsor oder als Debian Betreuer trotzdem hochladen     Bitte beachten Sie  dass Sie kein neues Paket erstellen m  ssen  um offizieller Debian Entwickler zu werden  Auch Beitr  ge zu  existierenden Paketen k  nnen ein Weg sein  offizieller Debian Entwickler zu werden  Es gibt viele Pakete  die auf einen guten  Betreuer warten  siehe Abschnitt 2 2      Da in diesem Dokument nur auf technische Aspekte der Paketierung fokussiert wird  lesen Sie bitte die folgenden Texte  um zu  erfahren  wie Debian funktioniert und wie Sie daran mitarbeiten k  nnen        Debian  17 years of Free Software     do ocracy     and democracy  http   upsilon cc  gt zack talks 2011 20110321 taipei pdf   ein   f  hrenden Folien      Wie k  nnen Sie Debian helfen   http   www debian org intro help   offiziell        Die Debian GNU Linux FAQ  Kapitel 13     Zum Debian Projekt beitragen    http   www debian org doc FAQ ch contributing de html  
49. aus den nativen Debian Quellpaketen         Paket_Version_Arch deb    Falls Sie beispielsweise Quelldateien in   mypackage 1 0 ohne die debian   Dateien haben  k  nnen Sie ein natives  Debian Paket daf  r mittels des Befehl dh_make wie folgt erstellen       cd   MeinPaket 1 0    dh_make   native    Dann werden das Verzeichnis debian und seine Inhalte genau wie bei Abschnitt 2 8 erstellt  Dies erstellt keinen Tarball  da  dies ein natives Debian Paket ist  Das ist aber auch der einzige Unterschied  Der Rest der Paketierungsaktivit  ten ist praktisch  identisch     Nach der Ausf  hrung des Befehls dpkg buildpackage werden Sie die folgenden Dateien im   bergeordneten Verzeichnis finden     e meinpaket_1 0 tar gz    Dies ist der Quellcode Tarball  der von dem Verzeichnis MeinPaket   1 0 durch den Befehl dpkg source erstellt wurde    Seine Endung ist nicht orig tar gz         14 Alternativ k  nnen Sie die Argumente   libdir     prefix  1lib   DEB_HOST_MULTIARCH  und   libexecdir     prefix    lib   DEB_HOST_MULTIARCH  zu   configure hinzuf  gen  Beachten Sie  dass   libexecdir den Standardpfad  in den ausf  hrbare Programme   die von anderen Programmen  im Gegensatz zu Benutzern  ausgef  hrt werden  angibt  Die Vorgabe von Autotools ist  usr libexec   die Debian Vorgabe  ist allerdings  usr 1lib         Debian Leitfaden f  r Neue Paketbetreuer 63 63       e meinpaket_1 0 dsc  Dies ist eine Zusammenfassung der Inhalte des Quellcodes  wie in dem nicht nativen Debian Paket   Es gibt 
50. bedeutende gro  e  Patch Dateien hervorrufen  Es gibt angepasste Module wie dh_autoreconf  um dieses Problem zu vereinfachen  Dies wird in  Abschnitt 4 4 3 beschrieben     Sie k  nnen dem Optionsargument   extend diff ignore von dpkg source 1  einen regul  ren Perl Ausdruck   bergeben   um   nderungen  die an den automatisch erstellten Dateien beim Erstellen des Quellpakets vorgenommen wurden  zu ignorieren     Als allgemeine L  sung  um dieses Problem der automatisch erstellten Dateien zu adressieren  k  nnen Sie so ein Optionsargument  an dpkg source in der Datei source options des Quellpakets speichern  Folgendes wird die Erstellung von Patch Dateien  f  r config sub  config guess und Makefile   berspringen     extend diff ignore     A    config  sub config  qguess Makefile         5 26 patches      Das alte Quellformat 1      erzeugte eine einzelne gro  e diff   gz Datei  in der sowohl die Paketbetreuungsdateien unter debian  als auch Patches f  r den Quelltext enthalten waren  So ein Paket ist etwas schwierig zu untersuchen und zu verstehen  wenn sp  ter  der Quelltext ge  ndert werden soll  Das ist nicht so sch  n     Das neuere Quellformat 3 0  quilt  speichert Patches in debian patches    Dateien unter Verwendung des Befehls  quilt ab  Diese Patches sowie andere Paketdaten bleiben alle innerhalb des Verzeichnisses debian und werden als debian   tar gz Datei gepackt  Da der Befehl dpkg source in 3 0  quilt   Quellen die Patch Daten im quilt Format verarbeiten  kann  oh
51. benennen und  sie bearbeiten  Dabei verwenden Sie die Informationen aus dem Beispiel und die Dokumentation des Originalautors     Sie k  nnen auch den Befehl help2man benutzen  um eine Handbuchseite aus der Ausgabe des Programms mit den Optionen        help   und      version   zu erzeugen       5 15 2 manpage sgml ex    Falls Sie es andererseits bevorzugen  in SGML anstatt nroff zu schreiben  k  nnen Sie die Vorlage manpage   sgml  ex benutzen   Dann m  ssen Sie Folgendes tun    e Benennen Sie die Datei um  beispielsweise in gentoo  sgml       Installieren Sie das Paket docbook to man      F  gen Sie docbook to man der Zeile Build Depends in der Datei control hinzu     e F  gen Sie das Target override_dh_auto_build in Ihrer Datei rules hinzu     override_dh_auto_build   docbook to man debian gentoo sgml  gt  debian gentoo 1  dh_auto_build    5 15 3 manpage xml ex    Falls Sie XML gegen  ber SGML bevorzugen  k  nnen Sie die Vorlage manpage   xml  ex benutzen  Dann m  ssen Sie Folgendes  tun       Umbenennen der Quelldatei in etwas wie gentoo 1 xml    e Installieren Sie das Paket docbook xs1 und einen XSLT Prozessor wie xs1tproc  empfohlen         4 Beachten Sie  dass die Platzhalter Handbuchseite von help2man behaupten wird  dass detailliertere Informationen im info System vorhanden seien  Falls  dem Befehl eine Info Seite fehlt  sollten Sie die von help2man erstellte Handbuchseite manuell bearbeiten        Debian Leitfaden f  r Neue Paketbetreuer 38 63       e F  gen Sie doc
52. book xs1  docbook xml und xs1tproc der Zeile Build Depends in der Datei control hinzu    e F  gen Sie das Target override_dh_auto_build in Ihrer Datei rules hinzu     override_dh_auto_build   xsltproc   nonet      param make year ranges 1      param make single year ranges 1      param man charmap use subset        o debian     http    docbook sourceforge net release xsl current manpages docbook xs1   debian gentoo 1 xml  dh_auto_build    5 16 Paket manpages    Falls Ihr Paket Handbuchseiten hat  sollten Sie sie mit dh_installman 1  installieren  indem Sie sie in einer Dateie Paket  manpages  auflisten     Um docs gentoo  1 als Handbuchseite f  r das Paket gentoo zu installieren  erstellen Sie eine Datei gentoo   manpages  folgenderma  en     docs gentoo 1    5 17 menu    Benutzer des X Window Systems haben normalerweise einen Fenstermanager mit einem Men    das konfiguriert werden kann  um  Programme zu starten  Falls sie das Debian Paket menu installiert haben  werden Men  eintr  ge f  r die installierten Programme  automatisch hinzugef  gt     Hier ist die Standarddatei menu   ex  die von dh_make erstellt wurde      package gentoo  needs X11 text vc wm    section Applications see menu manual   title gentoo command  usr bin gentoo    Das erste Feld nach dem Doppelpunkt ist needs und bestimmt  welche Art der Benutzerschnittstelle das Programm braucht     ndern Sie dies auf eine der aufgef  hrten Alternativen  beispielsweise text oder X11     Das n  chste ist der Abschnitt  s
53. debian org  http   alioth debian org   verwandt wird   H Die Option   pristine tar ruft den Befehl pristine tar auf  der eine exakte Kopie des urspr  nglichen Tarballs erneut erstellt und dabei nur eine  kleine bin  re Deltadatei und den Inhalt des Tarballs verwendet  der typischerweise im Zweig upstream des VCS gehalten wird   12 Hier sind einige Quellen im Web f  r fortgeschrittene Anwender        Debian Leitfaden f  r Neue Paketbetreuer 47163       6 6 Schneller Neubau    Bei einem gro  en Paket wollen Sie bestimmt nicht alles nach jeder kleiner   nderung in debian rules neu kompilieren  F  r  Testzwecke k  nnen Sie folgenderma  en eine   deb Datei erstellen  ohne alle Schritte durchzumachen          fakeroot debian rules binary    Oder noch einfacher  falls Sie nur feststellen wollen  ob das Paket gebaut werden kann oder nicht       fakeroot debian rules build    Wenn Sie mit Ihren Anpassungen fertig sind  vergessen Sie nicht  das Paket gem     der korrekten Prozedur neu zu bauen  Sie  werden   deb Dateien  die auf diese Weise gebaut wurden  nicht korrekt hochladen k  nnen     6 7 Befehlshierarchie    Dies ist eine kurze Zusammenfassung  wie die vielen Befehle zum Paketbau in der Befehlshierarchie zusammenpassen  Es gibt  viele Wege  das gleiche zu erledigen       debian rules   Betreuerskript f  r den Paketbau     dpkg buildpackage   Kern des Paketbauwerkzeuges   e debuild   dpkg buildpackage   lintian  unter bereinigten Umgebungsvariablen bauen      pbuilder   Kern des 
54. dh_  Skripts   ndern wollten  mussten Sie die entsprechende Zeile in der Datei rules aufsuchen und dort  anpassen        Debian Leitfaden f  r Neue Paketbetreuer 31 63       override_dh_auto_configure   dh_auto_configure      sysconfig  etc gentoo    Die nach dem       bergebenen Argumente werden zu den vorgegebenen Argumenten des automatisch ausgef  hrten Programms  hinzugef  gt  um sie zu   berschreiben  Die Benutzung des Befehls dh_auto_configure ist besser als der direkte Aufruf von    configure  weil in diesem Fall lediglich das Argument    sysconfig   berschrieben wird und andere  sehr wohl beabsichtigte   Argumente f  r den Befehl   configure erhalten bleiben     Falls das Makefile in den Quellen von gentoo zum Bauen explizit das Ziel build ben  tigt      k  nnen Sie ein Ziel namens  override_dh_auto_build erstellen  um dies zu erm  glichen     override_dh_auto_build   dh_auto_build    build    Hiermit wird sichergestellt  dass   MAKE   mit allen voreingestellten Argumenten des Befehls dh_auto_build plus dem Argu   ment build ausgef  hrt wird     Falls das Makefile in den Quellen von gentoo zum Aufr  umen f  r das Debianpaket explizit das Ziel packageclean  ben  tigt statt der Ziele distclean oder clean  k  nnen Sie ein Ziel namens override_dh_auto_clean erstellen  um  dies zu nutzen     override_dh_auto_clean     MAKE  packageclean    Falls das Makefile in den Quellen von gentoo das Ziel test enth  lt  das Sie im Paketbau Prozess f  r Debian nicht ausf  hren  wollen  
55. dpkg buildpackage 1  verwenden wird  um das Paket zu bauen  Diese  Datei ist in Wirklichkeit ein weiteres Makefile  aber anders als die von den Originalautoren mitgelieferten  Im Unterschied zu  den anderen Dateien im Verzeichnis debian ist diese Datei als ausf  hrbar gekennzeichnet     4 4 1 Ziele der Datei rules    Jede rules Datei  wie jedes andere Makefile  besteht aus mehreren Regeln  von der jede ein Ziel und eine Ausf  hrung  definiert    Eine neue Regel beginnt mit der Ziel Deklaration in der ersten Spalte  Die folgenden Zeilen beginnen mit einem       10 Falls Sie den Befehl dch  r zur Durchf  hrung dieser letzten   nderung verwenden  stellen Sie sicher  dass Sie die Datei changelog explizit im Editor  speichern    11 Sie k  nnen das Schreiben von Makefiles von Debian Reference  12 2     Make     http   www debian org doc manuals debian reference ch12 _make   anfangen zu lernen  Die komplette Dokumentation ist als http   www gnu org software make manual html_node index html oder als das Paket make doc im  Archivbereich non free verf  gbar        Debian Leitfaden f  r Neue Paketbetreuer 26 63       Tabulator  ASCII 9   nach dem das Rezept zur Durchf  hrung des Ziels angegeben wird  Leere Zeilen und Zeilen  die mit einem     Hash  anfangen  werden als Kommentare behandelt und ignoriert        Eine Regel  die Sie ausf  hren m  chten  wird durch ihren Zielnamen als Befehlszeilenargument aufgerufen  Beispielsweise f  hren  debian rules buildund fakeroot make  f debian rul
56. e daher diese Pfade in       Where to put executable commands on  make install        BIN     DESTDIR  usr bin    Where to put icons on  make install      ICONS     DESTDIR  usr share gentoo    Der genaue Ort  der f  r Programme  Icons  Dokumentation usw  verwandt werden sollte  ist im   Filesystem Hierarchy Standard     FHS  spezifiziert  Sie sollten ihn durchbl  ttern und die f  r Ihr Paket relevanten Abschnitte lesen     Sie sollten also ausf  hrbare Befehle in  usr bin  statt  usr local bin  installieren  die Handbuchseiten in  usr   share man man1  statt  usr local man man1  usw  Beachten Sie  dass im Makefile von gentoo keine Hand   buchseite auftaucht  Da die Debian Richtlinien aber verlangen  dass jedes Programm eine hat  schreiben Sie sp  ter eine und  installieren sie unter  usr share man man1      Manche Programme nutzen dieMakefile Variablen nicht  um solche Pfade zu definieren  Das bedeutet  dass Sie wahrscheinlich  die C Quelltexte direkt bearbeiten m  ssen  damit diese dann die richtigen Pfade benutzen  Aber wo soll man suchen  und wonach  eigentlich genau  Sie k  nnen dies herausfinden  indem Sie folgendes eingeben       grep  nr   include     c h         e usr local lib       Grep durchsucht das Quellverzeichnis rekursiv und gibt Ihnen den Dateinamen und die Zeilennummer f  r alle Treffer aus     Sie m  ssen diese Dateien nun bearbeiten und in den entsprechenden Zeilen usr local lib durch usr lib ersetzen  Dies  kann wie folgt automatisch erledigt werden     
57. e den Befehl file verwenden  wenn die Dateierweiterung nicht genug ist    7 Das Programm ist bereits paketiert worden  Die aktuelle Version  http   packages qa debian org g gentoo html  verwendet die Autotools als Baustruktur  und unterscheidet sich signifikant von den folgenden Beispielen  die auf Version 0 9 12 basieren        Debian Leitfaden f  r Neue Paketbetreuer 10 63       Jetzt haben Sie ein neues Unterverzeichnis namens gentoo 0 9 12  Wechseln Sie dorthin und lesen Sie die mitgelieferte  Dokumentation aufmerksam durch  Meistens gibt es Dateien mit den Namen README   INSTALL      1sm oder    html   Sie m  ssen eine Anleitung finden  wie man das Programm kompiliert und installiert  meistens wird von einer Installation in das  Verzeichnis  usr local bin ausgegangen  aber das werden Sie nicht machen  Mehr dazu sp  ter in Abschnitt 3 3      Sie sollten das Paketieren mit einem komplett aufger  umten    pristine    makellosen  Quellcode Verzeichnis anfangen oder die  Quellen einfach frisch entpacken     2 4 Einfache Bausysteme    Einfache Programme enthalten normalerweise eine Makefile Datei und k  nnen rein durch den Aufruf von   make   kompi   liert werden     Einige von ihnen unterst  tzen   make check    wodurch die mitgelieferten Selbsttests gestartet werden  Die  Installation in das Zielverzeichnis wird   blicherweise mittels   make install   durchgef  hrt     Versuchen Sie nun  das Programm zu kompilieren und auszuf  hren  Stellen Sie sicher  dass es einwandfrei fu
58. ebian Quellpaketen gebaute Debian Bin  rpakete  die normale installierbare Paketdateien im   deb   oder in dem vom  Debian Installer verwandten   udeb  Format sind         Paket_Version Revision_Arch deb    Bitte beachten Sie  dass das Zeichen  das Paket und Version trennt  von    Bindestrich  im Tarball Namen zu _  Unterstrich   im Debian Paketdateinamen ge  ndert wurde     Im obigen Dateinamen wird der Paket Teil durch den Paketnamen  der Version Teil durch die Version der Originalautoren   der Revision Teil durch die Debian Revision und der arch Teil mit der Paketarchitektur  wie dies in dem   Debian Policy  Manual   festgelegt ist  ersetzt       Jeder Schritt dieser   bersicht wird in sp  teren Abschnitten mit detaillierten Beispielen erkl  rt        1 F  r die Debian Quellpakete im   lteren 1  0 Format wird stattdessen Paket_Version Revision diff gz benutzt      Lesen Sie 5 6 1    Source     http   www debian org doc debian policy ch controlfields html s f Source    5 6 7 Package     http   www debian org doc    debian policy ch controlfields html s f Package  und 5 6 12    Version     http   www debian org doc debian policy ch controlfields html s f Version    Die Pa   ketarchitektur folgt dem Debian Policy Manual  Kapitel 5 6 8   Architecture    http   www debian org doc debian policy ch controlfields html s f Architecture   und wird w  hrend des Paketbauprozesses automatisch zugewiesen        Debian Leitfaden f  r Neue Paketbetreuer 7163       2 2 Ihr Programm ausw  h
59. ebian org doc manuals developers reference pkgs html upload      5 Lesen Sie ftp   ftp upload debian org pub UploadQueue README  Alternativ k  nnen Sie den Befehl dcut aus dem Paket dput verwenden        Debian Leitfaden f  r Neue Paketbetreuer 57163       rm hello_1 0 1_i386 deb   mv hello_1 0 1 dsx hello_1 0 1 dsc        BEGIN PGP SIGNATURE        Version  GnuPG v1 4 10  GNU Linux     9 2 Die Datei orig  tar gz hochladen    Wenn Sie das Paket zum ersten Mal ins Archiv hochladen  m  ssen Sie auch die urspr  ngliche Quelldatei orig tar gz  einschlie  en  Falls die Debian Revisionsnummer dieses Pakets weder 1 noch 0 ist  m  ssen Sie die Option  sa von dpkg   buildpackage verwenden     F  r den Befehl dpkg buildpackage     dpkg buildpackage  sa    F  r den Befehl debuild     debuild  sa    F  r den Befehl pdebuild     pdebuild   debbuildopts  sa    Andererseits wird die Option   sd den Ausschluss der urspr  nglichen Quelle orig  tar  gz erzwingen     9 3   bersprungene Uploads    Falls Sie mehrere Eintr  gen in debian changelog erzeugt haben  indem Sie Uploads   bersprangen  m  ssen Sie eine korrekte  Datei  _  changes erzeugen  die s  mtliche   nderungen seit dem letzten Upload enth  lt  Dies kann durch Angabe der Option   V von dpkg buildpackage mit der Version  z B  1  2  erfolgen     F  r den Befehl dpkg buildpackage     dpkg buildpackage  v1 2    F  r den Befehl debuild     debuild  v1 2    F  r den Befehl pdebuild     pdebuild   debbuildopts     v1 2          Debian Leitf
60. ection   in dem der Men    und Untermen  eintrag sp  ter erscheinen soll       Das Feld title enth  lt den Namen des Programms  Dieser kann mit Gro  buchstaben beginnen  sollte aber kurz gehalten werden   Zuletzt das Feld command  das den Befehlsaufruf zum Starten des Programms enth  lt    Lassen Sie uns den Dateinamen in menu und den Men  eintrag wie folgt   ndern      package gentoo   needs X11    section Applications Tools    title Gentoo command gentoo    Sie k  nnen noch weitere Felder wie longtitle  icon  hints usw  hinzuf  gen  Siehe dh_installmenu 1   menufile 5   update   menus 1  und The Debian Menu sub policy  http   www debian org doc packaging manuals menu policy   f  r weitere Informa   tionen        5 Die derzeitige Liste der Abschnitte befindet sich in The Debian Menu sub policy  Kapitel 2 1   Preferred menu structure    http   www debian org doc    packaging manuals menu policy ch2 html s2 1    F  r squeeze gab es eine gro  e Reorganisation der Men  struktur        Debian Leitfaden f  r Neue Paketbetreuer 39 63       5 18 NEWS    Der Befehl dh_installchangelogs 1  installiert diese Datei     5 19  post pre  inst rm     Die Dateien postinst  preinst  postrm und prerm    werden Betreuerskripte  engl    maintainer scripts   genannt  Diese  Skripte werden f  r die Steuerung des Pakets verwendet und von dpkg aufgerufen  wenn Ihr Paket installiert  aktualisiert oder  entfernt wird     Als neuer Betreuer sollten Sie das manuelle Bearbeiten dieser Betreuerskripte ver
61. eference   den grundlegenden Umgang mit einem Debian System lernen   Sie enth  lt auch einige Hinweise  um etwas   ber Unix Programmierung zu lernen        Debian Leitfaden f  r Neue Paketbetreuer 2163          Freundliche Zusammenarbeit ist die Triebfeder         Ihr Beitrag sollte andere nicht zu sehr belasten         Ihr Beitrag ist nur wertvoll  wenn andere ihn w  rdigen   e Debian ist keine Schulklasse  in der Sie automatisch vom Lehrer Aufmerksamkeit bekommen         Sie sollten in der Lage sein  viele Sachen selbst zu lernen         Aufmerksamkeit von anderen Freiwilligen ist eine sehr knappe Ressource   e Debian verbessert sich st  ndig         Es wird von Ihnen erwartet  hochqualitative Pakete zu erstellen         Sie sollten sich an   nderungen selbst anpassen   Es gibt mehrere Arten von Personen  die innerhalb von Debian mit verschiedenen Rollen zusammenarbeiten       Urspr  nglicher Autor    upstream author     Die Person  die das urspr  ngliche Programm geschrieben hat      Betreuer des Originalprogramms    upstream maintainer     Die Person  die das Programm zurzeit betreut      Betreuer    maintainer     Die Person  die ein Debian Paket des Programms erstellt oder betreut       Sponsor  Eine Person  die Betreuern hilft  Pakete in das offizielle Debian Paketarchiv hochzuladen  nachdem sie den Inhalt    berpr  ft hat        Mentor  Eine Person  die neuen Betreuern beim Paketieren usw  hilft       Debian Entwickler    Debian Developer    DD   Ein Mitglied des Debi
62. ehe Abschnitt 4 1      6 3 Der Befehl debuild    Sie k  nnen den Prozess des Paketbauens rund um die Ausf  hrung des Befehls dpkg buildpackage weiter mit dem Befehl debuild  automatisieren  Siehe debuild 1      Der Befehl dbuild f  hrt den Befehl lintian aus  um nach dem Bau des Debian Pakets statische Pr  fungen durchzuf  hren  Der  Befehl lintian kann mit dem folgenden Eintrag in der     devscripts angepasst werden     DEBUILD_DPKG_BUILDPACKAGE_OPTS   us  uc  I  i     DEBUILD_LINTIAN_OPTS   i  I   show overrides       Jetzt kann das S  ubern des Quellverzeichnisses und Neubauen des Pakets unter Ihrem Benutzerkonto einfach so durchgef  hrt  werden       debuild    Sie k  nnen das Quellverzeichnis einfach so s  ubern       debuild clean       4 Im Gegensatz zum pbuilder Paket erzwingt die chroot Umgebung im Paket sbuild  die vom Autobuilder System verwendet wird  keine Verwendung  einer Minimalumgebung  Daher k  nnen   briggebliebene Pakete installiert sein        Debian Leitfaden f  r Neue Paketbetreuer 45 63       6 4 Das Paket pbuilder    Um die Abh  ngigkeiten f  r den Bau in einer sauberen Umgebung  chroot  zu   berpr  fen  ist das Paket pbuilder sehr gut  geeignet     Es stellt sicher  dass das Paket aus den Quellen auf einem Sid Autobuilder f  r verschiedene Architekturen gebaut  werden kann  Weiterhin wird hierdurch ein schwerwiegender FTBFS Fehler    Fails To Build From Source    kann nicht aus den  Quellen gebaut werden  verhindert  der immer als release kritisch  R
63. en Details     7 Lesen Sie Debian Policy Manual  Kapitel 7   Declaring relationships between packages    http   www debian org doc debian policy ch relationships html        Debian Leitfaden f  r Neue Paketbetreuer 22163       e Suggests    Benutzen Sie dies f  r Pakete  die mit Ihrem Programm gut zusammenarbeiten  aber absolut nicht notwendig sind  Wenn ein  Benutzer Ihr Programm installiert  werden sie wahrscheinlich nicht gefragt  ob die vorgeschlagenen Pakete auch installiert  werden sollen  aptitude kann so konfiguriert werden  dass es vorgeschlagene Pakete zusammen mit Ihrem Paket installiert   aber dies ist nicht die Voreinstellung dpkg und apt get ignorieren dieses Feld     e Pre Depends    Dies ist st  rker als Depends  Das Paket wird nicht installiert  bevor die hier aufgelisteten Pakete fertig installiert und rich   tig konfiguriert sind  Benutzen Sie dies sehr sparsam und nur  nachdem auf der Mailingliste debian devel lists debian org   http   lists debian org debian devel   dar  ber diskutiert wurde  Lies  Verwenden Sie es   berhaupt nicht         e Conflicts    Das Paket wird nicht installiert  bevor alle Pakete  mit denen es kollidiert  entfernt wurden  Benutzen Sie dies  wenn ihr Pro   gramm   berhaupt nicht l  uft oder schwere Probleme verursacht  solange ein bestimmtes Paket installiert ist     e Breaks    Wenn dieses Paket installiert ist  werden alle aufgef  hrten Pakete als besch  digt markiert  Normalerweise gibt ein Eintrag  unter Breaks an  dass er auf
64. en und neu einpacken     Falls die Quellen Ihres Programms Inhalte enthalten  die nicht den DFSG gen  gen  sollten Sie sie auch entpacken  um solche  Inhalte zu entfernen  und mit einer ge  nderten Version der Originalautoren  die dfsg enh  lt  neu packen     Als Beispiel verwende ich hier ein Programm namens gentoo  einen GTK  Dateimanager  7    Erstellen Sie ein Unterverzeichnis in Ihrem Home Verzeichnis namens debian oder deb oder irgendetwas  das Sie passend  finden  beispielsweise w  re in diesem Fall nur    gentoo v  llig in Ordnung   Kopieren Sie das heruntergeladene Archiv dorthin  und entpacken Sie es  mit  tar xzf gentoo 0 9 12 tar gz     Vergewissern Sie sich  dass es keine Warnmeldungen  beim Entpacken gab  nicht mal so genannte irrelevante  da die Entpackwerkzeuge anderer Leute diese Anomalien ignorieren oder  auch nicht ignorieren k  nnten und sie daher beim Entpacken Probleme bekommen k  nnten  Ihre Shell Befehlszeile k  nnte dann  wie folgt aussehen       mkdir   gentoo   cd   gentoo     wget http   www  example org gentoo 0 9 12 tar gz    tar xvzf gentoo 0 9 12 tar gz     ls  F   gentoo 0 9 12    gentoo 0 9 12 tar gz        gt  Machen Sie sich keine Sorge um das fehlende Makefile  Sie k  nnen den Befehl hello einfach mittels debhelper wie in Abschnitt 5 11 oder durch  Ver  nderung der Quellen der Originalautoren installieren  indem Sie ein neues Makefile mit dem Ziel install wie in Kapitel 3 hinzuf  gen    6 Sie k  nnen das Archivformat herausfinden  indem Si
65. ernativ kann dies auch zu jedem anderen von Ihnen gew  nschten Zeitpunkt stattfinden  Die Dateinamen lauten    e Paket cron hourly   Wird als  etc cron hour ly Paket installiert  Ausf  hrung einmal pro Stunde     e Paket cron daily   Wird als  etc cron daily Paket installiert  Ausf  hrung einmal pro Tag     e Paket cron weekly   Wird als  etc cron weekly Paket installiert  Ausf  hrung einmal pro Woche        2 Lesen Sie dpkg 1  und das Debian Policy Manual    D 2 5 Conffiles    http   www debian org doc debian policy ap pkg controlfields html s pkg f   Conffiles          Debian Leitfaden f  r Neue Paketbetreuer 34163       e Paket cron monthly   Wird als  etc cron monthly Paket installiert  Ausf  hrung einmal pro Monat     e Paket cron d Wirdals  etc cron d Paket installiert  Ausf  hrung zu anderen Zeiten     Die meisten dieser Dateien sind Shellskripte  Die einzige Ausnahme stellt Paket cron d dar  das im Format einer crontab 5   vorliegen muss     Es wird keine dedizierte cron     Datei f  r das Rotieren der Protokolldateien ben  tigt  Daf  r lesen Sie bitte dh_installlogrotate 1   und logrotate 8      5 5 dirs    In dieser Datei werden alle Verzeichnisse festgelegt  die wir brauchen  die aber von der normalen Installationsprozedur    make  install DESTDIR        aufgerufen von      dh_auto_install    aus irgendwelchen Gr  nden nicht erstellt werden  Dies  bedeutet fast immer  dass es ein Problem mit dem Makefile gibt     F  r Dateien  die in der Datei install aufgelistet s
66. es binary die Regeln f  r die Ziele build respektive  binary aus     Es folgt eine vereinfachte Erkl  rungen der Ziele     e clean Ziel  L  schen aller kompilierten  erzeugten und nicht ben  tigten Dateien im Bauverzeichnis  erforderlich     build Ziel  Bauen der Quellen zu kompilierten Programmen und formatierten Dokumenten im Bauverzeichnis  erforderlich   e build arch Ziel  Bauen der Quellen zu kompilierten architekturabh  ngigen Programmen im Bauverzeichnis  erforderlich   e build indep Ziel  Bauen der Quellen inarchitekturunabh  ngige formatierten Dokumente im Bauverzeichnis  erforderlich     e install Ziel  Installieren der Dateien in einen Verzeichnisbaum unterhalb des Verzeichnisses debian f  r jedes Bin  rpaket   Falls sie festgelegt wurden  h  ngen binary  Ziele effektiv von diesem Ziel ab  optional     e binary Ziel  Erstellen aller Bin  rpakete  effektiv ist dies die Kombination der binar y   arch  und binary indep Ziele    erforderlich       e binary arch Ziel  Erstellen Architektur abh  ngiger  Architecture   any  Bin  rpakete im   bergeordneten Verzeichnis   erforderlich        e binary indep Ziel  Erstellen Architektur unabh  ngiger  Architecture  all Bin  rpakete im   bergeordneten Verzeich   nis  erforderlich  15    e get orig source Ziel  Herunterladen der neuesten Version des Quellpakets von dem Archiv der Originalautoren  optio   nal     Sie sind jetzt wahrscheinlich   berw  ltigt  aber nach der genaueren Betrachtung der Datei rules  die uns dh_make als V
67. eses Paket enth  lt einige Hilfsprogramme  um mit Patches zu arbeiten  beispielsweise die Befehle Isdiff   interdiff und filterdiff     3 Es gibt auch einige spezialisierte aber   hnliche Pakete wie dh make  perl  dh make php usw           Debian Leitfaden f  r Neue Paketbetreuer 4163       pbuilder   Dieses Paket enth  lt Programme  um eine chroot Umgebung aufzubauen und zu betreuen  Beim Bauen ei   nes Debian Pakets in dieser chroot Umgebung wird gepr  ft  ob die Build Abh  ngigkeiten stimmen  wodurch FTBFS Fehler     Fails To Build From Source    kann nicht aus den Quellen gebaut werden  verhindert werden  siehe pbuilder 8  und pde   build 1       perl   Perl ist eine der am meisten gebrauchten interpretierten Skriptsprachen auf heutigen Unix   hnlichen Systemen  oft  bezeichnet als   Unix    Schweizer Offizierskettens  ge    siehe perl 1       python   Python ist eine weitere der am meisten gebrauchten interpretierten Skriptsprachen auf Debian Systemen  die bemer   kenswerte St  rke mit einer sehr klaren Syntax kombiniert  siehe python 1       quilt   Dieses Paket hilft Ihnen dabei  eine gro  e Anzahl von Patches zu verwalten  indem es die   nderungen verfolgt  die  jeder Patch vornimmt  Patches k  nnen angewandt  entfernt und erneuert werden sowie vieles mehr   Lesen Sie quilt 1  und   usr share doc quilt quilt pdf gz      xutils dev   Einige Programme    blicherweise die f  r X11 erstellten  benutzen diese Programme zum Erzeugen von  Makefile Dateien aus einer Gruppe vo
68. ev   Viele neuere Programme benutzen configure Skripte und Makefile   Dateien  die mit Hilfe dieser Programme vorproduziert wurden  siehe  info autoconf     info automake     Das Paket  autotools dev enth  lt aktuelle Versionen von bestimmten auto Dateien sowie Informationen   ber die beste Art und Weise   diese Dateien zu verwenden     e dh make und debhelper   dh make wird ben  tigt  um eine Ger  st unseres Beispielpakets zu erstellen  Es verwendet  einige der debhelper Werkzeuge f  r die Paketerstellung  Sie sind nicht zwingend erforderlich  um Pakete zu erstellen  aber  f  r neue Betreuer sehr empfohlen  Sie vereinfachen den Einstieg in den ganzen Prozess sehr  ebenso die sp  tere Kontrolle  siehe  dh_make 8   debhelper 1    usr share doc debhelper README         Das neue debmake kann als Alternative zum Standard dh make verwandt werden  Es erledigt mehr und enth  lt HTML   Dokumentation mit ausf  hrlichen Paketierungsbeispielen     devscripts   Dieses Paket enth  lt einige n  tzliche Skripte  die f  r die Betreuer hilfreich sein k  nnen  aber nicht zum Bauen  der Pakete ben  tigt werden  Die von diesem Paket empfohlenen und vorgeschlagenen Pakete sind ebenfalls einen Blick wert   siehe  usr share doc devscripts README gz      e fakeroot   Dieses Hilfsprogramm erm  glicht Ihnen  die Identit  t von   root   vorzut  uschen  was f  r einige Teile des Build   Prozesses ben  tigt wird  siehe fakeroot 1       e file   Dieses n  tzliche Programm kann den Typ einer Datei feststel
69. g prep standards html_node    DESTDIR html DESTDIR      3 Bei einem Quellpaket  das mehrere Bin  rpakete erstellt  verwendet der Befehl dh_auto_install das tempor  re Verzeichnis debian tmp  Der Befehl  dh_install teilt dann den Inhalt von debian tmp mit Hilfe von debian Paket 1 install und debian Paket  2 install in die tempor  ren  Verzeichnisse debian Paket   1 und debian Paket   2 auf  um daraus die Bin  rpakete Paket 1_  deb und Paket 2_  deb zu erstellen        Debian Leitfaden f  r Neue Paketbetreuer 16 63       Benutzers installiert  wenn dieser Ihr Paket installiert  Der einzige Unterschied ist  dass dpkg die Dateien relativ zum Wurzelver   zeichnis statt zu Ihrem Arbeitsverzeichnis installieren wird     Vergessen Sie nicht  dass Ihr Programm zwar unter debian Paket installiert wird  es sich aber trotzdem korrekt verhalten muss   wenn es aus dem   deb Paket unter dem Wurzelverzeichnis installiert wird  Daher d  rfen durch das Build System keine fest  eingestellten Zeichenketten wie  home ich deb Paket Version usr share Paket in Dateien im Paket geschrieben  werden     Dies ist der relevante Abschnitt aus dem Makefile  von gentoo       Where to put executable commands on  make install        BIN    usr local bin    Where to put icons on  make install      ICONS    usr local share gentoo    Sie sehen  dass die Dateien unter  usr local installiert werden sollen  Wie oben erkl  rt ist diese Verzeichnis Hierarchie unter  Debian f  r lokale Benutzung reserviert    ndern Si
70. ganisationssystem  Weitere Systeme sind u A  dpatch  dbs und cdbs  Viele von diesen Systemen speichern solche Patches in debian patches     Dateien ab    10 Falls Sie einen Sponsor darum bitten  Ihr Paket hochzuladen  ist diese Art der klaren Aufteilung und Dokumentation Ihrer   nderungen sehr wichtig  um  die Durchsicht Ihres Pakets durch den Sponsor zu beschleunigen        Debian Leitfaden f  r Neue Paketbetreuer 42163       Kapitel 6    Bau des Pakets    Nun sollten wir soweit sein  das Paket zu bauen     6 1 Kompletter  Neu  Bau  Um ein Paket ordnungsgem     komplett  neu  zu bauen  m  ssen Sie Folgendes installiert haben        Das Paket build essential   e die im Feld Build Depends aufgelisteten Pakete  siehe Abschnitt 4 1  und    e die im Feld Build Depends Indep aufgelisteten Pakete  siehe Abschnitt 4 1      Dann f  hren Sie den folgenden Befehl im Quellverzeichnis des Programms aus       dpkg buildpackage  us  uc  Dies wird alles fiir Sie erledigen  um vollst  ndige Bin  rpakete und Quellpakete zu erstellen  Im Einzelnen     e Aufr  umen des Quellverzeichnisbaums   debian rules cleanx      Bauen des Quellpakets    dpkg source  bx       Bauen des Programms   debian rules build  x       Bauen der Bin  rpakete    fakeroot debian rules binaryx        Erstellen der Datei   dsc      Erstellen der Datei   changes  mittels dpkg genchanges    Falls das Ergebnis des Baus den Erwartungen entspricht  signieren Sie die Dateien  dsc und  changes mit Ihrem privaten  GPG Schl  ssel 
71. graphische Signatur des Tarballs bereitstellen  wird empfohlen  seine Authentizit  t mittels  der Option pgpsigurlmangle zu pr  fen  wie dies in uscan 1  beschrieben ist     5 23 source format    In der Datei debian source format soll eine einzelne Zeile stehen  in der das gew  nschte Format f  r das Quellpaket  angegeben wird  lesen Sie dpkg source 1  f  r eine ausf  hrliche Liste   Nach Squeeze sollte dort entweder     e 3 0  native  f  r native Debian Pakete oder    e 3 0  quilt  f  r alles andere stehen     Das neuere Quellformat 3 0  quilt  zeichnet   nderungen in einer Patchserie im Verzeichnis debian patches f  r quilt  auf  Diese   nderungen werden dann w  hrend des Entpackens des Quellpakets automatisch angewendet      Die Debian spezifischen    nderungen werden einfach in einem Archiv namens debian tar gz gespeichert  das alle Dateien im Verzeichnis debian  enth  lt  Mit diesem neuen Format k  nnen bin  re Dateien wie PNG Icons vom Paketbetreuer eingebunden werden  ohne Tricks  anwenden zu m  ssen        Wenn dpkg source ein Quellpaket im Quellformat 3 0  quilt  entpackt  werden automatisch alle Patches angewendet  die  indebian patches series aufgef  hrt sind  Sie k  nnen das Anwenden der Patches nach dem Entpacken verhindern  indem  Sie die Option   skip patches benutzen     5 24 source local options    Wenn Sie die Paketierungsarbeiten f  r Debian in einem Versionskontrollsystem verwalten wollen  erstellen Sie   blicherweise ei   nen Zweig  z B  Upstream   in dem
72. gt  werden und wie ihr jeweiliges Format aussieht  Bitte lesen Sie das Debian Policy Manual  http   www debian org doc devel   manuals policy  und die Debian Entwicklerreferenz  http   www debian org doc devel manuals devref  f  r einen Leitfaden zum  Paketieren     Der Befehl dh_make erstellt einige Vorlagen f  r Konfigurationsdateien im Verzeichnis debian  Die meisten sind mit dem Suffix         X   versehen  Andere haben den Namen des Bin  rpakets als Pr  fix wie beispielsweise Paket  Schauen Sie sich alle an       Der Befehl dh_make erstellt f  r debhelper nicht alle Konfigurationsdateien  Falls Sie diese ben  tigen  m  ssen Sie sie mit  einem Editor erstellen     Falls Sie eine dieser Dateien verwenden m  chten oder m  ssen  machen Sie bitte folgendes        Benennen Sie die Vorlagedateien um  indem Sie das Suffix  ex oder  EX entfernen  falls vorhanden      Benennen Sie die Konfigurationsdateien um  so dass sie den tats  chlichen Paketnamen anstatt Paket verwenden    e Passen Sie die Inhalte der Vorlagedateien Ihren Bed  rfnissen an      L  schen Sie Vorlagedateien  die Sie nicht ben  tigen    e Passen Sie die Datei control an  falls notwendig  siehe Abschnitt 4 1     e Passen Sie die Datei rules an  falls notwendig  siehe Abschnitt 4 4     Alle debhelper Konfigurationsdateien ohne ein Paket Pr  fix  wie beispielsweise die Datei install  beziehen sich auf  das erste Bin  rpaket  Wenn es mehrere Bin  rpakete gibt  k  nnen die jeweiligen Konfigurationen dadurch zugeordnet
73. h_auto_configure  dh_auto_build  dh_auto_test    e   fakeroot debian rules binary  ruft  fakeroot dh binary   auf  das wiederum das Folgende ausf  hrt        dh_testroot  dh_prep  dh_installdirs  dh_auto_install  dh_install  dh_installdocs  dh_installchangelogs  dh_installexamples  dh_installman  dh_installcatalogs  dh_installcron  dh_installdebconf  dh_installemacsen       16 Dies verwendet die neuen M  glichkeiten von debhelper v7   Dessen Designkonzepte werden in   Not Your Grandpa   s Debhelper     http   joey kitenet net talks debhelper debhelper slides pdf  erkl  rt  das auf der DebConf9 vom debhelper Betreuer pr  sentiert wurde  Unter Lenny erzeugte  dh_make eine wesentlich kompliziertere Datei rules mit expliziten Regeln und vielen dh_  Skripten  die f  r jedes aufgef  hrt wurden  wobei die meisten jetzt  unn  tig sind  und das Alter des Pakets zeigen   Der neue dh Befehl ist einfacher und befreit uns von der   manuellen   Durchf  hrung dieser Routinearbeit  Sie  haben mit den override_dh_  Zielen weiterhin die vollst  ndige Kontrolle   ber diesen Prozess mit den Zielen override_dh_   Siehe Abschnitt 4 4 3  Es  basiert lediglich auf dem Paket debhelper und verschleiert den Prozess des Paketbaus nicht  wie dies beim Paket cdbs sein kann    17 Sie k  nnen   berpr  fen  welche Sequenzen von dh_  Programmen f  r ein bestimmtes Ziel tats  chlich aufgerufen werden  indem Sie   dh   no act  Ziel  oder  debian rules        no act Ziel      ausf  hren  Dadurch werden die Seque
74. heben  w  hrend Sie die Debian Datei changelog mit dch  aktualisieren     e Wiederholen Sie die T  tigkeiten aus Abschnitt 6 1 und Kapitel 7        1 Um das Datum in das ben  tigte Format zu bekommen  verwenden Sie LANG C date  R        Debian Leitfaden f  r Neue Paketbetreuer 52 63       e Sobald Sie zufrieden sind  sollten Sie den Wert der Distribution im changelog von UNRELEASED auf den Ziel Distributionswert  unstable  oder ggf  experimental  setzen         Laden Sie Ihr Paket wie in Kapitel 9 beschrieben hoch  Der Unterschied besteht darin  dass Sie diesmal das urspr  ngliche  Quellarchiv nicht beif  gen  da es sich nicht ge  ndert hat und im Debian Archiv bereits existiert     Ein schwieriger Fall kann auftreten  falls Sie ein lokales Paket erstellen  um mit dem Paketieren zu experimentieren  bevor Sie  die normale Version in das offizielle Archiv hochladen  z B  1 0  1 1  F  r reibungslosere Upgrades ist es eine gute Idee  einen  changelog Eintrag mit einer Versionszeichenkette wie1 0 1 1 rc1 zu erstellen  Sie k  nnen changelog bereinigen  indem  Sie Ihre lokalen   nderungseintr  ge in einen einzigen Eintrag f  r das offizielle Paket zusammenfassen  Lesen Sie Abschnitt 2 6  f  r die Reihenfolge von Versionszeichenketten     8 2   berpr  fung einer neuen Version der Originalautoren    Wenn Sie Pakete f  r eine neue Ver  ffentlichung der Originalautoren f  r das Debian Archiv vorbereiten  m  ssen Sie zuerst die  neue Ver  ffentlichung der Originalautoren pr  fen     Begi
75. hlie  en Sie diese Fehler  indem Sie Closes  Fehler_Nummer hinzuf  gen         Beschreiben Sie genau die   nderungen an der neuen Ver  ffentlichung der Originalautoren durch den Betreuer  die berichtete  Fehler schlie  en  und schlie  en Sie diese Fehler  indem Sie Closes  Fehler_Nummer hinzuf  gen     e while dquilt push do dquilt refresh done  um alle Patches anzuwenden und gleichzeitig fuzz  Unsch  rfe  zu  entfernen     Falls das Patchen Zusammenf  gen nicht reibungsfrei lief  pr  fen Sie die Situation  Hinweise verbleiben in   rej Dateien         2 Falls Sie den Befehl dch  r zur Durchf  hrung dieser letzten   nderung verwenden  stellen Sie sicher  dass Sie die Datei changelog explizit im Editor  speichern    3 Falls ein Paket FOO im alten Format 1  O paketiert ist  kann dies stattdessen durch zcat  Pfad nach foo_alte_Version diff gz pat  ch  p1 in der neuen entpackten Quelle durchgef  hrt werden        Debian Leitfaden f  r Neue Paketbetreuer 53 63          Falls ein Patch  den Sie an den Quellen angewandt hatten  in die Quellen der Originalautoren integriert wurde      f  hren Sie dquilt delete aus  um ihn zu entfernen     e Falls ein Patch  den Sie auf die Quellen anwandten  mit den neuen   nderungen in den Quellen der Originalautoren in Konflikt  steht         wenden Sie dquilt push  f an  um die alten Patches anzuwenden und R  ckweisungen als baz   rej zu erzwingen       Bearbeiten Sie die Datei baz manuell  um den geplanten Effekt von baz   rej zu erreichen       d
76. hlie id da e dc ee ee ee hr cla da 47       Debian Leitfaden f  r Neue Paketbetreuer    vi       7   berpr  fen des Pakets auf Fehler    Fl  7 2  Fe  7 4  pas  7 6  Et  7 8    Merkw  rdige   nderungen 22 2    corr na rn na an    berpr  fen einer Paketinstallation           eeenn    berpr  fen der Betreuerskripte eines Pakets        22cm o meer  NINE nennen as end aaa Dr ki wien  Der Befehl gebe    2 2 20 AAA Bine ps EI te ca  Der BeRRl A ee a en a a h aaa n a a ai  Der Befehl intendi ociosos ar A e aia e a  Der Berhlme  22  a aaea a ie han ba a N a E E E A    8 Aktualisieren des Pakets    8 1  8 2  8 3  8 4  8 5  8 6    Nene Debian Revision  lt  oso ua aan acnes a Do a ae    berpr  fung einer neuen Version der Originalautoren     22    o oo oe  Neue Version der Originalautoren         snara esae e  Den Paketstil aktualisieren oo enc ione 0 e a na aa are  UTRO    paa ae nn A A end    Erinnerungen f  r die Paketaktualisierung                              2    o       9 Das Paket hochladen    gi  92  33    Indas Debian Archiy hochladen         ceeace 2 4 cocos    wen a Ben aa aan  Die Datei orig  Car UE hodiladen o iia an Ba a aaa an      bersprungene Uploads       A Fortgeschrittene Paketierung    AJI  Ad  A 3  A A  AS    Laufzeit Bibliothek       aaa 2 005 See aa a A a a e  debian Paket symbols verwalten     esso Con onen  e 2 0 0 0 2 0 a a ee NN  Erstellen eines Laufzeitbibliothekspakets          2 2 200m onen    Natives DeblanPak a a a a    48  48  48  48  49  50  50  50  50
77. hweis bereit  dass diese Dateien tats  chlich von Ihnen sind     Mit dem folgenden Eintrag in      devscripts kann der Befehl debsign dazu veranlasst werden  mit Ihrer angegeben geheimen  Schl  sselkennung zu unterzeichnen  was gut f  rs Spoonsern ist      DEBSIGN_KEYID Ihre_GPG Schl  sselkennung    Die langen Zahlenreihen in den Dateien  dsc und  changes sind SHAVSHA256 Pr  fsummen der aufgelisteten Dateien   Jeder  der Ihr Paket herunterl  dt  kann die enthaltenen Dateien mit shalsum 1  oder sha256sum 1  testen  Wenn die Zahlen nicht    bereinstimmen  wei   er  die gepr  fte Datei ist besch  digt oder manipuliert     6 2 Autobuilder    Debian unterst  tzt viele Portierungen  http   www debian org ports   mit dem Autobuilder Netz  http   www debian org devel    buildd     das buildd Daemons auf vielen verschiedenen Rechnerarchitekturen ausf  hrt  Obwohl Sie dies nicht selbst durchf  hren  m  ssen  sollte Ihnen bewusst sein  was mit Ihren Paketen passiert  Lassen Sie uns einen kurzen Blick darauf werfen  wie Ihre  Pakete vom Autobuilder Netz f  r verschiedene Architekturen neu gebaut werden       F  r Pakete mit   Architecture any   f  r das Autobuilder System eine Neu  bersetzung durch  Es stellt folgende Installatio   nen sicher        2 Sie k  nnen das Anwenden der quilt Patches im 3 0  quilt   Quellformat am Ende des Auspackens verhindern  indem Sie die Option   skip   patches benutzen  Alternativ k  nnen Sie  dquilt pop  a   nach dem normalen Auspacken aufrufen    3 Das 
78. ien                Beachten Sie  dass die Entwicklungspakete einen Symlink f  r die zugeh  rige Laufzeitbibliothek ohne eine Versionsnummer  enthalten sollten  Z B   usr l1ib x86_64 1linux gnu libfoo so  gt  l1ibfoo so 1    A 4 Erstellen eines Laufzeitbibliothekspakets    Sie k  nnen ein Debian Laufzeitbibliothekspaket mit Unterst  tzung von Multiarch mit dh 1  wie folgt bauen     e debian control aktualisieren      Build Depends debhelper   gt  9  f  r den Quellpaketabschnitt hinzuf  gen    Pre Depends   misc Pre Depends  f  r jedes Laufzeitbibliothekspaket hinzuf  gen      F  gen Sie den Multi Arch  Absatz f  r jeden Bin  rpaketabschnitt hinzu     e debian compat auf   9   setzen      Passen Sie die Pfade vom normalen  usr lib  auf die Multiarch Variante  usr 1ib   DEB_HOST_MULTIARCH    f  r alle Paketierungsskripte an         Zuerst DEB_HOST_MULTIARCH     shell dpkg architecture  qDEB_HOST_MULTIARCH  in debian   rules aufrufen  um die Variable DEB_HOST_MULTIARCH zu setzen         Ersetzen Sie in debian rules  usr 1lib  durch  usr 1lib   DEB_HOST_MULTIARCH          13 Alte Spezialbibliothekspfade wie  1ib32  und  1ib64  werden nicht mehr benutzt        Debian Leitfaden f  r Neue Paketbetreuer 62 63           Falls   configure als Teil des Ziels override_dh_auto_configure in debian rules verwandt wird  stellen  Sie sicher  dass Sie es durch dh_auto_configure    ersetzen            Ersetzen Sie in debian foo install Dateien alle Vorkommen von  usr 1ib  durch  usr lib         
79. iese Aufgabe praktisch sein  Falls es Kollisionen gibt  k  mmern Sie sich um dieses echte  Problem  indem Sie die Datei umbenennen  eine gemeinsame Datei in ein separates Paket verschieben  von dem verschiedene Pa   kete abh  ngen k  nnen  in Absprache mit den Betreuern anderer betroffener Pakete den Alternatives Mechanismus nutzen  siehe  update alternatives 1   oder indem Sie eine Conflicts Beziehung in der Datei debian control festlegen     7 3   berpr  fen der Betreuerskripte eines Pakets    Alle Betreuerskripte  das hei  t  die Dateien preinst  prerm  postinst und postrm  sind schwer korrekt zu schreiben   falls Sie nicht vom Programm debhelper automatisch erstellt werden  Verwenden Sie sie daher als neuer Betreuer nicht  siehe  Abschnitt 5 19      Falls das Paket nicht triviale Betreuerskripte verwendet  testen Sie nicht nur die Installation  sondern auch das Entfernen  das  vollst  ndige Entfernen und den Upgrade Prozess  Viele Betreuerskriptfehler zeigen sich  wenn Pakete entfernt oder endg  ltig  entfernt werden  Verwenden Sie f  r die Tests den Befehl dpkg wie folgt        Debian Leitfaden f  r Neue Paketbetreuer 49   63         sudo dpkg  r gentoo    sudo dpkg  P gentoo    sudo dpkg  i gentoo _Version Revision_i386 deb    Dies sollte in einem Ablauf wie dem Folgenden passieren        Installieren Sie die vorhergehende Version  falls notwendig    e F  hren Sie ein Upgrade von der vorhergehenden Version durch   e f  hren Sie ein Downgrade auf eine vorherige Version d
80. iese direkt hinter debhelper an     Zeile 6 enth  lt die Version des Debian Policy Manual  http   www debian org doc devel manuals policy    dessen Standards  dieses Paket entspricht  also die Version  die Sie gelesen haben  w  hrend Sie Ihr Paket erstellten     In Zeile 7 k  nnen Sie die URL der Homepage der Originalautoren der Software notieren     Zeile 9 enth  lt den Namen des Bin  rpakets    blicherweise ist dies der gleiche Name wie der des Quellpakets  aber das muss nicht  immer so sein     Zeile 10 beschreibt die Architekturen  f  r die das bin  re Paket kompiliert werden kann  Dieser Wert ist normalerweise einer der  folgenden  abh  ngig von der Art des bin  ren Pakets        e Architecture any      Das erstellte Bin  rpaket ist archiekturabh  ngig  typischerweise in einer kompilierten Sprache   e Architecture all        Das erstellte Bin  rpaket ist architekturunabh  ngig  besteht typischerweise aus Text  Bilder oder Skripten in einer interpre   tierten Sprache     Wir belassen Zeile 10  da es in C geschrieben ist  dpkg gencontrol 1  wird den geeigneten Architekturwert f  r jede Maschine   auf der diese Quellen gebaut werden  einf  gen     Falls Ihr Paket unabh  ngig von der Architektur funktioniert  beispielsweise ein Shell  oder Perl Skript oder Dokumentation      ndern Sie dies in   al1   und lesen Sie sp  ter unter Abschnitt 4 4   ber die Benutzung der Regelbinary indep statt binary   arch f  r den Bau des Pakets     Zeile 11 zeigt eine der m  chtigsten Eigensch
81. ind  m  ssen die Verzeichnisse nicht zuerst erstellt werden  Siehe Abschnitt 5 11     Am besten ist es  wenn Sie zun  chst die Installation ausprobieren und diesen Mechanismus nur dann benutzen  wenn es dabei  Probleme gibt  Es gibt keinen einleitenden Schr  gstrich bei den Verzeichnisnamen  die in der Datei dirs aufgef  hrt sind     5 6 Paket  doc base    Hat Ihr Programm au  er Handbuch  und Info Seiten noch andere Dokumentation  sollten Sie die Datei doc base benutzen  um  diese zu registrieren  damit der Benutzer sie mit Programmen wie dhelp 1   dwww 1  oder doccentral 1  finden kann     Das schlie  t normalerweise HTML   PS  und PDF Dateien ein  die sich in  usr share doc Paketname  befinden   So sieht die doc base Datei gentoo   doc   base f  r das Paket gentoo aus     Document  gentoo   Title  Gentoo Manual   Author  Emil Brink   Abstract  This manual describes what Gentoo is  and how it can be used   Section  File Management   Format  HTML   Index   usr share doc gentoo html index html   Files   usr share doc gentoo html   html    Informationen   ber das Format dieser Datei finden Sie in install docs 8  und der Debian Anleitung von doc  base in der lokalen  Kopie  usr share doc doc base doc base html index html  die vom Paket doc  base bereitgestellt wird     F  r weitere Details   ber das Installieren von zus  tzlicher Dokumentation sehen Sie bitte in Abschnitt 3 3 nach     5 7 docs    Diese Datei enth  lt die Dateinamen der Dokumentationsdateien  die dh_installdocs 
82. it debian org  p collab maint gentoo git   9 Homepage  http   www obsession se gentoo    10    11 Package  gentoo   12 Architecture  any   13 Depends    shlibs Depends     misc Depends    14 Suggests  file   15 Description  fully GUI configurable  two pane X file manager   16 gentoo is a two pane file manager for the X Window System  gentoo lets the  17 user do  almost  all of the configuration and customizing from within the  18 program itself  If you still prefer to hand edit configuration files    19 they   re fairly easy to work with since they are written in an XML format   20     21 gentoo features a fairly complex and powerful file identification system   22 coupled to an object oriented style system  which together give you a lot  23 of control over how files of different types are displayed and acted upon   24 Additionally  over a hundred pixmap images are available for use in file  25 type descriptions    26     29 gentoo was written from scratch in ANSI C  and it utilizes the GTK  toolkit  30 for its interface      Die Zeilennummerierung habe ich hinzugef  gt      4 2 copyright    Diese Datei enth  lt Informationen   ber das Copyright und die Lizenz der Quellen der Originalautoren  Debian Policy Manual  Ka   pitel 12 5   Copyright information    http   www debian org doc debian policy ch docs html s copyrightfile  gibt den Inhalt vor  und DEP 5  Machine parseable debian copyright  http   dep debian net deps dep5   bietet Hilfestellungen f  r ihr Format        8 Die
83. itten der Debian Paketierung mit einfachen Paketen zu spielen  w  hrend diese Anleitung gelesen wird   Ein trivialer Tarball der Originalautoren ist hello sh 1 0 tar gz  der einen guten Startpunkt darstellt  Er wird wie folgt  erstellt        mkdir  p hello sh hello sh 1 0  cd hello sh hello sh 1 0    cat  gt  hello  lt  lt EOF      bin sh      C  2011 Foo Bar  GPL2    echo    Hello       EOF     chmod 755 hello     cd     tar  cvzf hello sh 1 0 tar gz hello sh 1 0    2 3 Besorgen Sie sich das Programm und probieren Sie es aus    Als Erstes missen Sie die Originalquellen des Programms finden und herunterladen  Wahrscheinlich haben Sie bereits die  Quellcode Datei von der Homepage des Autors  Quellen freier Unix Programme sind   blicherweise im Format tar gzip mit  der Erweiterung   tar   gz  im Format tar bzip2 mit der Erweiterung  tar bz2 oder im Format tar xz mit der Erweiterung    tar  xZ Sie enthalten   blicherweise ein Verzeichnis  das Paket   Version genannt ist  sowie alle Quellcode Dateien darin     Falls die neueste Version der Quellen   ber Versionskontrollsysteme wie Git  Subversion oder CVS verf  gbar ist  m  ssen Sie  sie mit  git clone     svn CO  oder  CSV CO   herunterladen und dann selbst einen Tarball im Format tar gzip erstellen   indem Sie die Option      exclude vcs   verwenden     Kommt der Quellcode in einem anderen Archivtyp daher  beispielsweise wenn der Dateiname auf  Z oder   zip endet      sollten  Sie ihn auch mit den geeigneten Werkzeugen entpack
84. k  nnen Sie ein leeres Ziel namens override_dh_auto_test erstellen  um dies zu   bergehen     override_dh_auto_test     Wenn gentoo eine un  bliche urspr  ngliche Changelog Datei namens FIXES enth  lt  wird diese standardm    ig von dh_installchangele  nicht installiert  Der Befehl dh_installchangelogs braucht den Namen FIXES als Argument  um die Datei zu installieren   7    override_dh_installchangelogs   dh_installchangelogs FIXES    Wenn Sie den neuen dh Befehl benutzen  wird es schwierig  die genauen Effekte von expliziten Zielen wie den in Abschnitt 4 4 1  aufgelisteten zu verstehen  Eine Ausnahme stellt get orig source dar  Bitte beschr  nken Sie daher   soweit m  glich    explizite Ziele auf solche mit den Namen override_dh_  sowie vollst  ndig davon unabh  ngige        26 dh_auto_build ohne Argumente f  hrt das erste Ziel in dem Makefile aus   27 Die Dateien debian changelog und debian NEWS werden immer automatisch installiert  Das Changelog der Originalautoren wird gefunden  indem  die Dateinamen in Kleinbuchstaben umgewandelt werden und mit changelog  changes  changelog txt und changes  txt verglichen werden        Debian Leitfaden f  r Neue Paketbetreuer 32 63       Kapitel 5    Andere Dateien im Verzeichnis debian    Um kontrollieren zu k  nnen  was genau debhelper w  hrend des Paketbauens durchf  hrt  erstellen Sie optionale Konfigurati   onsdateien im Verzeichnis debian  In diesem Kapitel finden Sie einen   berblick dar  ber  wof  r die einzelnen Dateien ben  ti
85. keine Debian   Revision     e meinpaket_1 0_i386 deb    Dies ist Ihr komplettes Bin  rpaket wie in dem nicht nativen Debian Paket   Es gibt keine Debian Revision      e meinpaket_1 0_i386 changes    Diese Datei beschreibt wie in dem nicht nativen Debian Paket alle   nderungen  die in der aktuellen Paketversion erfolgten    Es gibt keine Debian Revision         
86. kets auf Fehler    Es gibt einige Techniken  die Sie zum   berpr  fen eines Pakets auf Fehler vor dem Upload in das   ffentliche Archiv wissen  sollten     Es empfiehlt sich auch  das Testen auf einem von Ihrer Maschine verschiedenen Rechner auszufiihren  Sie m  ssen genau auf alle  Warnungen und Fehler f  r alle hier beschriebenen Tests achten     7 1 Merkw  rdige   nderungen    Falls Sie nach dem Bau Ihres nicht nativen Debian Pakets im Format 3 0  quilt  einen neuen  automatisch erstellen Patch  wie debian  changes     im Verzeichnis debian patches finden  besteht die M  glichkeit  dass Sie Dateien versehentlich  ge  ndert haben oder das Bauskript die Quellen der Originalautoren ver  ndert hat  Falls es Ihr Fehler ist  korrigieren Sie ihn  Falls  er vom Bauskript ausgel  st wurde  korrigieren Sie das dahinterliegende Problem mit dh autoreconf wie in Abschnitt 4 4 3 oder  umgehen Sie das Problem mit source options wie in Abschnitt 5 25     7 2   berpr  fen einer Paketinstallation    Sie m  ssen   berpr  fen  ob Ihr Paket ohne Probleme installiert werden kann  Der Befehl debi 1  hilft Ihnen bei der Testinstallation  aller erstellten Bin  rpakete       sudo debi gentoo_0 9 12 1_i386 changes    Um Installationsprobleme auf verschiedenen Systemen zu vermeiden  m  ssen Sie sicherstellen  dass es keine Dateinamenskon   flikte mit anderen existierenden Paketen gibt  wobei Sie die vom Debian Archiv heruntergeladene Datei Contents   1386 ver   wenden  Der Befehl apt file kann f  r d
87. len    Sie haben sich wahrscheinlich schon ein Paket ausgesucht  das Sie erstellen wollen  Zuerst m  ssen Sie   berpr  fen  ob das Paket  bereits in der Distribution existiert  indem Sie das Folgende benutzen    e den Befehl aptitude   e die Webseite Debian Pakete  http   www debian org distrib packages    e die Webseite Debian Package Tracking System  http   packages qa debian org common index html    Wenn es das Paket schon gibt  na  dann installieren Sie es      Falls es verwaist    orphaned    wurde  wenn als Betreuer   Debian    QA Group  http   qa debian org      eingetragen ist   dann k  nnen Sie es   bernehmen  wenn es noch verf  gbar ist  Sie k  nnen  auch ein Paket adoptieren  dessen Betreuer einen   Request for Adoption    RFA  geschrieben hat  3    Es gibt mehrere Ressourcen zur Paketeigent  merschaft      Der Befehl wnpp alert aus dem Paket devscripts     Arbeit bed  rfende und voraussichtliche Pakete  http   www debian org devel wnpp       Debian Fehlerdatenbank Protokolle  Fehler im Pseudo Paket wnpp in unstable  http   bugs debian org wnpp       Debian Pakete  die Aufmerksamkeit ben  tigen  http   wnpp debian net       Durchsuchen Sie basierend auf Debtags die wnpp Fehler  http   wnpp by tags debian net     Als wichtige Randbemerkung sei darauf hingewiesen  dass Debian bereits f  r fast alle Arten von Programmen Pakete enth  lt  und die Anzahl der Pakete im Debian Archiv wesentlich gr    er ist als die der Mitwirkenden mit Berechtigung zum Hochladen   Daher we
88. len  siehe file 1        gfortran   Der GNU Fortran 95 Compiler wird ben  tigt  wenn Ihr Programm in Fortran geschrieben ist  siehe gfortran 1       e git   Dieses Paket stellt ein beliebtes Versionskontrollsystem zur Verf  gung  das daf  r entworfen wurde  bei sehr gro  en Pro   jekten schnell und effizient zu arbeiten  Es wird in vielen hoch angesehenen Open Source Projekten eingesetzt  beispielsweise  beim Linux Kernel  siehe git 1   Git Handbuch   usr share doc git doc index htm        e gnupg   Ein Werkzeug  mit dem Sie Pakete digital unterschreiben k  nnen  Dies ist besonders wichtig  wenn Sie das Paket  an andere Leute verteilen wollen und das werden Sie sicher  wenn Ihre Arbeit in die Debian Distribution aufgenommen wird     siehe gpg 1         gpc   Der GNU Pascal Compiler wird ben  tigt  wenn Ihr Programm in Pascal geschrieben ist  Erw  hnenswert ist an dieser  Stelle der   Free Pascal Compiler   fp compiler  der sich daf  r ebenfalls gut eignet  siehe gpc 1   ppc386 1       e lintian   Das ist Debians Paket Pr  fer  der Sie nach der Paketerstellung   ber h  ufige Fehler informiert und die gefundenen  Fehler erkl  rt  siehe lintian 1   Lintians Benutzerhandbuch   usr share doc lintian lintian html index htm         e patch   Ein sehr n  tzliches Programm  das eine Datei mit einer Auflistung der Unterschiede im Dateiinhalt  erstellt mit dem  Programm diff  auf die urspr  ngliche Datei anwendet und daraus die neue Version erzeugt  siehe patch 1       e patchutils   Di
89. lerreferenz  http   www debian org doc devel manuals devref  beschreibt  alle Dinge  die nicht speziell die technischen Details der Paketerstellung betreffen  beispielsweise die Struktur des Archivs  wie  man Pakete umbenennt  aufgibt  adoptiert  NMUs durchf  hrt  Fehler verwaltet  gute Pakete erstellt  wie und wo man ins Archiv  hochl  dt usw   lesen Sie die lokale Kopie  usr share doc developers reference developers reference   pdf      Das Folgende sind wichtige Dokumente  die Sie neben diesem Dokument auch lesen sollten     Das Autotools Tutorial  http   www Irde epita fr   adl autotools html  ist eine sehr gute Einf  hrung f  r das GNU Build System   das als GNU Autotools bekannt ist  Die wichtigsten Komponenten sind Autoconf  Automake  Libtool und Gettext     gnu standards   Dieses Paket enth  lt zwei Teile der Dokumentation des GNU Projekts  die GNU Coding Standards   http   www gnu org prep standards html_node index html  und Informationen f  r Betreuer von GNU Software  http   www gnu org    prep maintain html_node index html   Obwohl Debian nicht verlangt  dass diese befolgt werden  sind sie trotzdem hilfreich als  Richtlinie und sinnvoll  lesen Sie die lokalen Kopien von  usr share doc gnu standards standards pdf gz   und  usr share doc gnu standards maintain pdf gz      Falls dieses Dokument einem der oben erw  hnten Dokumente widerspricht  dann haben diese Recht  Bitte schreiben Sie einen  Fehlerbericht zu dem Paket maint   guide     Das Folgende ist eine alterna
90. malerweise f  r neue Pakete sinnvoll  die mit anderen Paketen kollidieren  die eine andere Priorit  t  als extra besitzen     Bereich und Priorit  t werden von Oberfl  chen wie aptitude benutzt  um Pakete zu sortieren und Standardparameter auszuw  hlen   Wenn Sie das Paket f  r Debian hochladen  k  nnen die Werte dieser beiden Felder von den Archivbetreuern   berschrieben werden   Sie erhalten dann eine Nachricht dar  ber per E Mail     Da es sich um ein Paket mit normaler Priorit  t handelt und es nichts anderes st  rt    ndern wir die Priorit  t auf   optional       Zeile 4 ist der Name und die E Mail Adresse des Betreuers  Sie m  ssen sicherstellen  dass dieses Feld eine g  ltige   To   Kopfzeile  f  r eine E Mail enth  lt  weil nach dem Hochladen die Fehlerdatenbank diesen Eintrag nutzt  um die Fehler E Mails an Sie zuzu   stellen  Benutzen Sie keine Kommata  kaufm  nnische Und Zeichen   amp   oder Klammern     Zeile 5 enth  lt die Liste der Pakete  die zum Bauen des Pakets ben  tigt werden  im Feld Build Depends  Sie k  nnen hier  ebenso das Feld Build   Depends  Indep in einer zus  tzlichen Zeile benutzen    Einige Pakete wie gcc und make werden  impliziert  weil sie vom Paket build essential ben  tigt werden  Falls Sie andere Werkzeuge zum Bauen Ihres Pakets  brauchen  m  ssen Sie sie zu diesen Feldern hinzuf  gen  Mehrere Eintr  ge werden durch Kommata getrennt  mehr   ber die Syntax  dieser Zeilen finden Sie in den Erl  uterungen der bin  ren Paketabh  ngigkeiten    
91. mand daran arbeitet  schreiben Sie mit reportbug einen ITP Fehlerbericht     Intent To Package    Absicht  das Paket zu erstellen  an das wnpp Pseudopaket  Wenn schon jemand an dem Paket arbeitet   nehmen Sie mit ihm Verbindung auf  wenn es n  tig ist  Andernfalls finden Sie bestimmt ein anderes interessantes Paket  das  von niemandem betreut wird        3 Lesen Sie die Debian Entwicklerreferenz 5 9 5    Adoption eines Pakets    http   www debian org doc manuals developers reference pkgs html adopting     4 Trotzdem gibt es nat  rlich immer neue Programme  die es wert sind  f  r Debian paketiert zu werden        Debian Leitfaden f  r Neue Paketbetreuer 8 63          Die Software muss eine Lizenz haben         F  r den Bereich main verlangen die Debian Richtlinien  dass es die Debian Richtlinien f  r Freie Software komplett  erf  llt  DFSG  http   www debian org social_contract guidelines    und kein Paket au  erhalb von main ben  tigt  um zu  kompilieren oder ausgef  hrt zu werden  Dies ist der erw  nschte Fall         F  r den Bereich contr ib muss es zu den DFSG konform sein  darf aber ein Paket au  erhalb von main f  r die Kompilierung  oder Ausf  hrung erfordern         F  r den Bereich non free darf es gegen Punkte der DFSG versto  en  es muss aber verteilbar sein         Sind Sie nicht sicher  wohin das Paket geh  rt  schicken Sie den Lizenztext an debian legal lists debian org  http   lists debian org    debian legal   und bitten um Rat       Das Programm sollte keine 
92. meiden  da sie problematisch sind  F  r wei   tere Informationen lesen Sie in dem Debian Policy Manual  Kapitel 6   Package maintainer scripts and installation procedure     http   www debian org doc debian policy ch maintainerscripts html  und sehen Sie sich die Beispieldateien an  die von dh_make  erstellt wurden     Falls Sie nicht auf mich geh  rt haben und eigene Betreuerskripte f  r ein Paket erstellt haben  m  ssen Sie sicherstellen  dass Sie  sie nicht nur f  r den Aufruf mit install und upgrade getestet haben  sondern auch f  r remove und purge     Upgrades auf die neue Version sollen ohne R  ckfragen geschehen und keine St  rungen oder Unterbrechungen zur Folge haben   Benutzer  die das Paket verwenden  sollen nicht bemerken  dass ein Upgrade durchgef  hrt wurde  Sie sollen nur feststellen  dass  alte Fehler behoben wurden und das Paket eventuell neue F  higkeiten hat      Wenn das Upgrade nicht ohne St  rung ablaufen kann  beispielsweise weil Konfigurationsdateien   ber verschiedene Home   Verzeichnisse verteilt sind  die einen vollkommen anderen Aufbau haben   k  nnen Sie als letzte M  glichkeit f  r das Paket eine  sichere Voreinstellung w  hlen  beispielsweise den Service deaktivieren  und die von den Richtlinien verlangte ausf  hrliche In   formation  README   Debian und NEWS  Debian  bereitstellen  Bel  stigen Sie den Benutzer nicht mit debconf Hinweisen   die von den Betreuerskripten bei Upgrades angezeigt werden     Das Paket ucf stellt eine   hnliche Infras
93. mit dem Befehl debsign  Sie m  ssen Ihre geheime Passphrase zweimal eingeben       F  r nicht native Debian Pakete  z B  gentoo  werden Sie die folgenden Dateien im   bergeordneten Verzeichnis    gentoo   nach dem Paketbau sehen        1 Dieser GPG Schl  ssel muss von einem Debian Entwickler unterschrieben worden sein  um mit dem Vertrauensnetz verbunden zu sein  und muss im  Debian Schl  sselring  http   keyring debian org  registriert sein  Dies erm  glicht es  dass Ihre hochgeladenen Pakete im Debian Archiv akzeptiert werden  Lesen  Sie Creating a new GPG key  http   keyring debian org creating key html  und Debian Wiki on Keysigning  http   wiki debian org Keysigning           Debian Leitfaden f  r Neue Paketbetreuer 431 63       e gentoo_0 9 12 orig tar gz    Dies ist der urspr  ngliche Quelltext Tarball der Originalautoren  lediglich umbenannt  um dem Debian Standard zu gen  gen   Beachten Sie  dass diese Umbenennung beim initialen Aufruf von  dh_make  f    gentoo 0 9 12 tar gz   erfolgt  ist     e gentoo_0 9 12 1 dsc    Dies ist eine Zusammenfassung des Inhalts des Quellcode Pakets  Diese Datei wird aus Ihrer Datei control erzeugt und f  r  das Entpacken des Quellcodes mittels dpkg source 1  ben  tigt     e gentoo_0 9 12 1 debian tar gz    Dieser komprimierte Tarball enth  lt die Dateien aus Ihrem debian Verzeichnis  Jede einzelne   nderung  die Sie am urspr  ng   lichen Code vorgenommen haben  wird als quilt Patch in debian patches gespeichert     Wenn jemand Ihr Pake
94. n Makro Funktionen  siehe imake 1   xmkmf 1       Die kurzen Erkl  rungen oben dienen nur dazu  Ihnen eine Einf  hrung in die verschiedenen Pakete zu geben  Bevor Sie weiter   machen  lesen Sie bitte die Dokumentation jedes relevanten Programms  auch die  die als Abh  ngigkeiten installiert wurden wie  make  zumindest was die normale Arbeitsweise angeht  Das mag Ihnen am Anfang   berfl  ssig vorkommen  aber schon bald  werden Sie sehr froh dar  ber sein  sich schon vorher informiert zu haben  Falls Sie sp  ter gezielte Fragen haben  wird empfohlen   die oben erw  hnten Dokumente erneut zu lesen     1 3 Dokumentation  die zum Entwickeln gebraucht wird    Das Folgende sind sehr wichtige Dokumente  die Sie neben diesem Dokument auch lesen sollten     debian policy  Das Debian Policy Manual  http   www debian org doc devel manuals policy   Debian Richtlinien Handbuch   beinhalten Beschreibungen der Struktur und des Inhalts des Debian Archivs  mehrere Besonderheiten des Betriebssystemde   signs  den   Filesystem Hierarchy Standard  http   www debian org doc packaging manuals fhs fhs 2 3 html      der beschreibt    wo jede Datei und jedes Verzeichnis sein sollte  usw  Das Wichtigste fiir Sie ist  dass sie die Anforderungen beschreiben  die   ein Paket erf  llen muss  um in die Distribution aufgenommen zu werden  lesen Sie die lokalen Kopien  usr share doc   debian policy policy pdf gz und  usr share doc debian policy fhs fhs 2 3 pdf gz      developers reference   Die Debian Entwick
95. n behalten wollen oder nicht     dh_installdeb 1  markiert automatisch alle Dateien im Verzeichnis  etc als   conffiles    Wenn Ihr Programm also nur dort  Konfigurationsdateien besitzt  m  ssen Sie sie nicht in dieser Datei auflisten  Bei den meisten Paketarten sollte der einzige Ort   an dem sich jemals Conffiles befinden   etc sein und daher muss diese Datei nicht existieren     Falls Ihr Programm Konfigurationsdateien nutzt  diese aber auch selbst bearbeitet  ist es das Beste  diese nicht als Conffiles zu  kennzeichnen  weil sonst dpkg den Benutzer jedes Mal auffordert    nderungen zu best  tigen     Falls es f  r das Programm  das Sie paketieren  erforderlich ist  dass jeder Benutzer die Konfigurationsdateien im Verzeichnis   etc anpassen muss  gibt es zwei popul  re Arten  es so einzurichten  dass sie keine Conffiles sind  um dpkg ruhig zu stellen        Erstellen Sie einen symbolischen Link im Verzeichnis  etc  der auf eine Datei im Verzeichnis  var zeigt  Dieser kann von  den Betreuerskripten erzeugt werden        Erstellen Sie eine Datei  die von den Betreuerskripten im Verzeichnis  etc erzeugt wird     F  r weitere Informationen   ber die Betreuerskripte lesen Sie Abschnitt 5 19     5 4 Paket CrOn      Falls Ihr Paket immer wiederkehrende Aufgaben erledigen muss  um korrekt zu arbeiten  k  nnen Sie diese Dateien benutzen   um das einzurichten  Sie k  nnen regelm    ige Aufgaben erstellen  die st  ndlich  t  glich  w  chentlich oder monatlich ausgef  hrt  werden  Alt
96. n org Multiarch Implementation   Debian Situation   Es verwendet ein Triplet wie 1386   1inux gnu und x86_64 1linux gnu f  r den Installationspfad der Laufzeitbibliothe     ken  Der tats  chliche Triplett Pfad wird durch dpkg architecture 1  f  r jeden Bau dynamisch in   DEB_HOST_MULTIARCH   gesetzt  Beispielsweise werden die Pfade zu Multiarch Bibliotheken wie folgt ge  ndert                Alter Pfad 1386 Multiarch Pfad Amd64 Multiarch Pfad   1ib   11b 1386  linux gnu   11b x86_64  linux gnu    usr lib   usr 1lib i386 linux gnu   usr lib x86_64 linux gnu              Es gibt einige typische Beispiele fiir Multiarch Paketaufteilungsszenarien     eine Bibliotheksquelle libfoo 1 tar gz    eine in einer   bersetzten Sprache geschriebene Werkzeugquelle bar 1 tar gz    eine in einer interpretierten Sprache geschriebene Werkzeugquelle baz 1 tar gz                               Paket Architecture    Multi Arch  Paketinhalt   libfoo1 any same die Laufzeitbibliothek  koinstallierbar   libfoo1 dbg any same die Debug Symbole der Laufzeitbibliothek  koinstallierbar  libfoo dev any same die Laufzeitbibliothek Header Dateien usw   koinstallierbar  libfoo tools any foreign die Laufzeitunterst  tzungsprogramme  nicht koinstallierbar  libfoo doc all foreign die Dokumentationsdateien der Laufzeitbibliothek   bar any foreign die   bersetzten Programmdateien  nicht koinstallierbar  bar doc all foreign die Dokumentationsdateien f  r das Programm   baz all foreign die interpretierten Programmdate
97. ndbuchseiten werden   blicherweise in nroff 1  geschrieben  Das Beispiel manpage   1  ex ist auch in nroff geschrieben  In  der Handbuchseite von man 7  finden Sie eine kurze Erkl  rung  wie solche Dateien bearbeitet werden k  nnen     Der endg  ltige Name der Handbuchseite sollte den Namen des Programms  das dokumentiert wird  angeben  Deshalb   ndern wir  den Namen von   manpage   nach   gentoo    Der Dateiname muss auch eine    1   als erstes Suffix erhalten  was bedeutet   dass es sich um eine Handbuchseite f  r einen Benutzerbefehl handelt  Vergewissern Sie sich  dass dieser Abschnitt tats  chlich  richtig ist  Hier ist eine kurze Liste der Abschnitte f  r Handbuchseiten                                Abschnitt Beschreibung Hinweise   1 Dienstprogramme f  r Benutzer Ausf  hrbare Befehle oder Skripte   2 Systemaufrufe Vom Kernel bereitgestellte Funktionen   3 Bibliotheksfunktionen Funktionen innerhalb Systembibliotheken   4 Besondere Dateien Normalerweise innerhalb von  dev   5 Dateiformate Z B  Format von  etc passwd   6 Spiele Spiele oder andere belanglose Programme   7 Makropakete Wie man Makros   8 Systemadministration Programme  die typischerweise nur von Root ausgef  hrt werden  9 Kernelroutinen Nicht standardisierte Aufrufe und Interna                Also bekommt gentoos Handbuchseite den Namen gentoo  1  Falls es in den urspr  nglichen Quellen keine Handbuchseite  namens gentoo  1 gibt  m  ssen Sie diese erstellen  indem Sie die Vorlage manpage  1 ex ingentoo 1 um
98. ne auf das Paket quilt zur  ckzugreifen  wird keine Build Depends f  r quilt ben  tigt        Der Befehl quilt wird in der Handbuchseite von quilt 1  erkl  rt  Er zeichnet   nderungen an den Quellen als Stapel von  p1   Patch Dateien im Verzeichnis debian patches auf  dadurch bleibt der Quelltextbaum au  erhalb des debian Verzeichnisses  unangetastet  Die Reihenfolge der Patches wird in der Datei debian patches series gespeichert  Sie k  nnen die Patches  leicht anwenden   push   entfernen   pop  und aktualisieren         F  r den Abschnitt Kapitel 3 haben wir drei Patches in debian patches erstellt     Da die Debian Patches in debian patches enthalten sind  stellen Sie bitte sicher  dass der Befehl dquilt korrekt eingerichtet  ist  so wie in Abschnitt 3 1 beschrieben     Wenn sp  ter jemand  Sie selbst eingeschlossen  einen Patch namens foo patch f  r die Quellen erstellt  ist die Ver  nderung  eines 3 0  quilt   Quellpakets recht einfach     dpkg source  x gentoo_0 9 12 dsc  cd gentoo 0 9 12  dquilt import    foo patch  dquilt push  dquilt refresh  dquilt header  e   Patch beschreiben    100    Die Patches  die in dem neuen Quellformat 3 0  quilt  gespeichert werden  miissen frei von Ungenauigkeiten  fuzz  sein   Sie k  nnen dies mit   dquilt pop  a while dquilt push do dquilt refresh  done sicherstellen        9 Es wurden verschiedene Methoden f  r die Organisation der Patches in Debian Paketen vorgeschlagen und auch angewendet  Das quilt System ist das bevor   zugteste Or
99. nen  14 Woman Hilfe bekommen kani  gt   s o sipoo conoser ar a ea n ni    2 Erste Schritte    2 1 Arbeitsschritte beim Bau von Debian Paketen     2 2    non n oe  22 Ihi Programin w  hlen A  2 3 Besorgen Sie sich das Programm und probieren Sie es aus       Come  24 Eintache Bansysteme o cca  844 ocn Des na Den ae ea a a  25 Beliebte portable Bausystee once ad da DC a  25  Name m  Versi  n des Pakels       2 aaa   aa aaa aa A RA  2 7 Einrichten von dh make     ce saasaa wa a a a a a a na hun  2 8 Das erste nicht native Debian Paket                              ern    3 Den Quellcode ver  ndern     gt      EMPERO ee na a a AR A A re da  3 2 Fehler in den urspr  nglichen Quellen korrigieren                onen  3 3 Installation von Dateien in ihr Zielverzeichnis                                             3A Unterschiedliche Bibliotheken  oscars ra a RR E BA    4 Ben  tigte Dateien im Verzeichnis debian    AL Control soci rs  42 COpyright  ecccics sc     43 changelog cesos  44 FOR osos ee   4 4 1 ZielederDateirules         4 4 2 Die vorgegebene Datei rules    4 4 3 Anpassungen der Datei rules    10  10  11  12  12    14  14  14  15  17          Debian Leitfaden f  r Neue Paketbetreuer v  5 Andere Dateien im Verzeichnis debian 32  Bl  RESOME Debian coc ei 2 na a a nn ra ie 32  GE BONDSE  u a ee a a a a a o de e ae A 33  Da TONTTLLOS sorei mire ea A ee ea a a a 33  DA Pakot  Cron      en e Eu a a a ea na 33  Be MUS  ie e EA EA e a a as ea 34  56 Pakets  cuina a an A a a AA ei 34  
100. nktioniert und nichts  anderes w  hrend der Installation oder der Ausf  hrung kaputt macht     Meistens k  nnen Sie au  erdem   make clean    oder besser   make distclean    ausf  hren  um im Build Verzeichnis auf   zur  umen  Manchmal gibt es sogar ein  make uninstall    womit alle installierten Dateien gel  scht werden k  nnen     2 5 Beliebte portable Bausysteme    Viele freie Software Programme sind in den Sprachen C oder C   geschrieben  Die meisten von ihnen verwenden Autotools  oder CMake  um auf verschiedene Plattformen portierbar zu sein  Diese Bauwerkzeuge m  ssen zuerst benutzt werden  um das  Makefile und andere ben  tigte Quelldateien zu erzeugen  Anschlie  end werden solche Programme mit dem   blichen   make   make install   gebaut     Autotools ist das GNU Buildsystem  das aus Autoconf  Automake  Libtool und gettext besteht  Sie erkennen solche Quellen an  den Dateien configure ac  Makefile am und Makefile in      Der erste Schritt im Arbeitsablauf der Autotools ist   blicherweise  dass der urspr  ngliche Autor   autoreconf  i  f  im  Quellenverzeichnis aufruft und die Quellen dann mit den erzeugten Dateien verteilt     configure ac         gt  autoreconf     gt  configure  Makefile am              gt  Makefile in  src Makefile am         gt  src Makefile in       gt  config h in   automake   aclocal   aclocal m4   autoheader    Das Bearbeiten der Dateien configure  ac und Makef ile  am erfordert etwas Wissen   ber autoconf und automake  Siehe    info autoconf 
101. nnen Sie damit  dass Sie changelog  NEWS und welche andere Dokumentation mit der neuen Version ver  ffentlicht wurde   lesen     Sie k  nnen dann   nderungen zwischen den alten und den neuen Quellen der Originalautoren wie folgt pr  fen und dabei nach  allem Verd  chtigem Ausschau halten       diff  urN foo alteVersion foo neueVersion      nderungen durch Autotools an einigen automatisch erstellten Dateien wie missing  aclocal m4  config guess  config   h in  config sub  configure  depcomp  install sh  1tmain sh und Makefile in k  nnen ignoriert werden   Sie k  nnen sie vor der Ausf  hrung von diff in den Quellen f  r die Pr  fung l  schen     8 3 Neue Version der Originalautoren    Falls ein Paket Foo korrekt im neueren Format 3 0  native  oder3 0  quilt  paketiert ist  besteht das Paketieren einer  neuen Version der Originalautoren im wesentlichen im Verschieben des alten Verzeichnisses debian in die neuen Quellen   Dies kann durch Ausf  hrung von tar xvzf  Pfad zu foo_alteversion debian tar gz in den entpackten Quellen  passieren     Nat  rlich m  ssen Sie einige offensichtliche Hausaufgaben machen        Erstellen Sie eine Kopie der Quellen der Originalautoren als foo_neueVersion orig tar gz Datei     e Aktualisieren Sie die Debian Datei changelog mit dch  v neueversion 1         Fiigen Sie einen Eintrag mit New upstream release hinzu         Beschreiben Sie genau die   nderungen in der neuen Ver  ffentlichung der Originalautoren  die berichtete Fehler schlie  en   und sc
102. ntieren k  nnen  hier  kommen keine   nderungen des Originalautors hinein  f  r diese Zwecke gibt es eine spezielle Datei  die von den Originalautoren  erstellt wurde und die Sie sp  ter als  usr share doc gentoo changelog  gz installieren werden   Wir nehmen an  dass  die Nummer Ihres ITP Fehlerberichts    Intent To Package    Absicht  ein Paket zu erstellen    12345   lautet  Neue Zeilen werden  direkt unter der obersten Zeile  die mit einem Stern         beginnt  eingef  gt  Sie k  nnen das mit dch 1  oder per Hand mit einem  Texteditor erledigen     Um zu verhindern  dass ein Paket versehentlich hochgeladen wird  bevor es fertig ist  empfiehlt es sich  den Distributionswert  auf den ung  ltigen Ausdruck UNRELEASED zu setzen     Schlie  lich kommen Sie zu einer Datei wie dieser hier     1 gentoo  0 9 12 1  UNRELEASED  urgency low    2   3   Initial Release  Closes   12345   4   This is my first Debian package    5   Adjusted the Makefile to fix   DESTDIR  problems    6   7    Josip Rodin  lt joy mg debian org gt  Mon  22 Mar 2010 00 37 31  0100  8     Die Zeilennummerierung habe ich hinzugef  gt      Sobald Sie mit allen   nderungen zufrieden und sie im changelog dokumentiert haben  sollten Sie den Wert der Distribution  von UNRELEASED auf den Ziel Distributionswert unstable  oder sogar experimental    ndern  1      Sie k  nnen sp  ter mehr   ber Aktualisierungen der Datei changelog in Kapitel 8 lesen     4 4 rules    Wir werfen nun einen Blick auf die genauen Regeln  die 
103. nzen nicht ausgef  hrt    18 Im folgenden Beispiel wird angenommen  dass debian compat einen Wert gleich oder gr    er als 9 hat  um die Python Unterst  tzungsbefehle automa   tisch aufzurufen        Debian Leitfaden f  r Neue Paketbetreuer 28 63       dh_installifupdown  dh_installinfo  dh_installinit  dh_installmenu  dh_installmime  dh_installmodules  dh_installlogcheck  dh_installlogrotate  dh_installpam  dh_installppp  dh_installudev  dh_installwm  dh_installxfonts  dh_bugfiles  dh_lintian  dh_gconf   dh_icons   dh_perl  dh_usrlocal  dh_link  dh_compress  dh_fixperms  dh_strip  dh_makeshlibs  dh_shlibdeps  dh_installdeb  dh_gencontrol  dh_md5sums  dh_builddeb    e   fakeroot debian rules binary arch  ruft  fakeroot dh binary arch   auf  das wiederum dieselbe Se   quenz ausf  hrt wie  fakeroot dh binary    allerdings wird an jeden Befehl die Option     a   angeh  ngt     e   fakeroot debian rules binary indep   ruft  fakeroot dh binary indep   auf  das wiederum fast die   selbe Sequenz ausf  hrt wie  fakeroot dh binary    allerdings wird an jeden Befehl die Option      i   angeh  ngt und die  Befehle dh_strip  dh_makeshlibs und dh_shlibdeps weggelassen     Die Funktion der Befehle dh_  sind gr    tenteils aus ihren Namen selbsterkl  rend     Es gibt einige bemerkenswerte  f  r die es  Sinn ergibt  hier unter der Annahme einer typischen Bauumgebung  basierend auf einem Makefile  eine stark vereinfachte  Erl  uterung bereitzustellen         e dh_auto_clean f  hrt normalerwei
104. ochladen       dupload gentoo_0 9 12 1_i386 changes    dupload pr  ft  ob die SHA1 SHA256 Dateipr  fsummen zu denen in der Datei   changes aufgef  hrten passen  Falls Sie nicht  passen  wird es Sie warnen  dass sie wie in Abschnitt 6 1 beschrieben erneut bauen m  ssen  so dass es korrekt hochgeladen werden  kann     Falls Sie auf ein Problem beim Hochladen in ftp   ftp upload debian org pub UploadQueue  sto  en  k  nnen Sie dies durch ma   nuelles Hochladen einer GPG unterschriebenen Datei   commands mit ftp korrigieren     Beispielsweise mit der hello   commands           BEGIN PGP SIGNED MESSAGE       Hash  SHA1   Uploader  Foo Bar  lt Foo Bar example org gt   Commands        1 Siehe Abschnitt 1 1   2 Es gibt   ffentlich erreichbare Archive wie http   mentors debian net   die genauso wie das Debian Archiv funktionieren und einen Upload Bereich f  r nicht  DDs bereitstellen  Sie k  nnen ein   quivalentes Archiv selbst erstellen  indem Sie die unter http   wiki debian org HowToSetupADebianRepository aufgef  hrten  Werkzeuge verwenden  Daher ist dieser Abschnitt auch f  r nicht DDs n  tzlich     3 Das Paket dput scheint mehr Funktionalit  ten zu enthalten und beliebter als das Paket dupload zu werden  Es verwendet die Datei  etc dput f  r seine  globale Konfiguration und die Datei      dput   cf f  r die benutzerspezifische Konfiguration  Es unterst  tzt auch standardm    ig Ubuntu bezogene Dienste    4 Siehe Debian Entwicklerreferenz 5 6    Ein Paket hochladen    http   www d
105. orgabe  erstellt hat  wird alles viel einfacher werden     4 4 2 Die vorgegebene Datei rules    Neuere Versionen von dh_make erzeugen als Vorgabe eine sehr einfache  doch m  chtige Datei rules  indem sie den Befehl dh  verwenden     E       usr bin make  f     See debhelper 7   uncomment to enable      output every command that modifies files on the build system    DH_VERBOSE   1      see EXAMPLES in dpkg buildflags 1  and read  usr share dpkg    DPKG_EXPORT_BUILDFLAGS   1  include  usr share dpkg default  mk    OO  NO UI PWMN      see FEATURE AREAS in dpkg buildflags 1   11  export DEB_BUILD_MAINT_OPTIONS   hardening  all    13   see ENVIRONMENT in dpkg buildflags 1   14   package maintainers to append CFLAGS  15  export DEB_CFLAGS_MAINT_APPEND    Wall  pedantic  16   package maintainers to append LDFLAGS          12 Debian Policy Manual  Kapitel 4 9   Main building script  debian rules    http   www debian org doc debian policy ch source html s debianrules  erkl  rt  die Details    13 Dieses Ziel wird von   dpkg buildpackage   wie in Abschnitt 6 1 beschrieben benutzt   14 Dieses Ziel wird von   dpkg buildpackage  B   wie in Abschnitt 6 2 beschrieben benutzt   15 Dieses Ziel wird von   dpkg buildpackage  A   benutzt       Debian Leitfaden f  r Neue Paketbetreuer 27163       17  export DEB_LDFLAGS_MAINT_APPEND    Wl     as needed    18   19   main packaging script based on dh7 syntax  20      21 dh  0     Die Zeilennummerierung habe ich hinzugef  gt und auch einige Kommentare
106. ort deaktiviert   Hiermit werden Python Module mit dem Rahmenwerk python central bearbeitet     e Unterst  tzung f  r den Befehl dh_installtex hinzuf  gen         Aufnahme des Pakets tex common in   Build Depends         Verwenden Sie stattdessen   dh     with tex  0           Hiermit werden Type 1 Schriften  Muster f  r Silbentrennung und Formate f  r TeX registriert     e Unterst  tzung f  r die Befehle dh_quilt_patch und dh_quilt_unpatch hinzuf  gen        22 Tats  chlich wird nach dem ersten verf  gbaren Ziel aus der Liste test oder check in dem Makefile gesucht und dieses ausgef  hrt    23 Falls ein Paket die Datei  usr share per15 Debian Debhelper Sequence Eigener_Name  pm installiert  k  nnen Sie dessen angepasste  Funktion mittels   dh     with Eigener  Name   aktivieren    24 Die Benutzung des Befehls dh_python2 wird gegen  ber den Befehlen dh_pysupport oder dh_pycentral bevorzugt  Verwenden Sie nicht den Befehl  dh_python        Debian Leitfaden f  r Neue Paketbetreuer 30   63       Aufnahme des Pakets quilt in   Build  Depends       Verwenden Sie stattdessen   dh  0   with quilt       Hiermit werden f  r ein Quellpaket im Format 1 0 aus Dateien im Verzeichnis debian patches Patches auf die ur   spr  nglichen Quellen angewendet und auch wieder r  ckg  ngig gemacht     Dies wird nicht ben  tigt  falls Sie das neue Quellpaketformat 3 0  quilt  benutzen   e Unterst  tzung f  r den Befehl dh_dkms hinzuf  gen         Aufnahme des Pakets dkms in   Build Depends         Ve
107. quilt refresh  um den Patch zu aktualisieren    e Fahren Sie mit while dquilt push do dquilt refresh done wie gewohnt fort     Dieser Prozess kann mit dem Befehl uupdate 1  wie folgt automatisiert werden       apt get source foo    dpkg source  info  foo wird nach foo AlteVersion extrahiert  dpkg source  info  foo_AlteVersion orig tar gz wird entpackt  dpkg source  info  foo_AlteVersion 1 debian tar gz wird angewandt    ls  F   foo AlteVersion    foo_AlteVersion 1 debian tar gz   foo_AlteVersion 1 dsc   foo_AlteVersion orig tar gz   wget http   example org foo foo NeueVersion tar gz   cd foo AlteVersion   uupdate  v NeueVersion    foo NeueVersion tar gz   cd    foo NeueVersion   while dquilt push  do dquilt refresh  done   dch       nderungen dokumentieren    MONA ANA    Falls Sie eine wie in Abschnitt 5 22 beschriebene Datei debian watch eingerichtet haben  k  nen Sie den Befehl wget   ber   springen  Sie f  hren einfach uscan 1  in dem Verzeichnis Foo   alteVersion statt des Befehls uupdate aus  Damit wird auto   matisch nach den aktualisierten Quellen geschaut  sie heruntergeladen und der Befehl uupdate ausgef  hrt       Sie k  nnen diese aktualisierten Quellen ver  ffentlichen  in dem Sie die Schritte aus Abschnitt 6 1  Kapitel 7 und Kapitel 9 wie   derholen     8 4 Den Paketstil aktualisieren    Die Aktualisierung des Paketierungsstils ist keine notwendige Aktivit  t beim Aktualisieren eines Pakets  Allerdings erlaubt dies  Ihnen  die gesamten M  glichkeiten des modernen
108. r debian libfoo1 symbols paketiert worden  war  erstellen Sie sie als Datei symbols von allen verf  gbaren Bin  rpaketen des selben Laufzeitbibliotheknamens  der den  gleichen SONAME der Bibliothek enth  lt  beispielsweise Version 1 1 1 und 1 2 1         3 Siehe Debian Policy Manual  Kapitel 8 1   Run time shared libraries    http   www debian org doc debian policy ch sharedlibs html s sharedlibs runtime     4 Siehe Debian Policy Manual  Kapitel 8 1 1   Idconfig    http   www debian org doc debian policy ch sharedlibs html s Idconfig     5 Siehe Debian Policy Manual  Kapitel 8 3   Static libraries    http   www debian org doc debian policy ch sharedlibs html s sharedlibs static  und Debian  Policy Manual  Kapitel 8 4   Development files    http   www debian org doc debian policy ch sharedlibs html s sharedlibs dev     6 Siehe Debian wiki ReleaseGoals LAFileRemoval  http   wiki debian org ReleaseGoals LAFileRemoval     7 Siehe Debian Wiki Rpathlssue  http   wiki debian org Rpathlssue     8 R  ckw  rts inkompatible ABI   nderungen verlangen normalerweise von Ihnen  dass Sie den SONAME der Bibliothek und des Laufzeitbibliothekspakets  auf den neuen   ndern   9 F  r C   Bibliotheken und anderen F  llen  bei denen das Nachverfolgen individueller Symbole zu schwierig ist  folgen Sie stattdessen dem Debian Policy  Manual  Kapitel 8 6 4   The shlibs system    http   www debian org doc debian policy ch sharedlibs html s sharedlibs shlibdeps     10 Alle vorhergehenden Versionen eines P
109. r entfernte Dateien     7 7 Der Befehl interdiff    Sie k  nnen zwei diff   gz Dateien mit dem Befehl interdiff 1  vergleichen  Dies ist zur   berpr  fung  dass keine unbeabsich   tigten   nderungen beim Aktualisieren von Paketen im alten 1  0 Quellformat durch den Betreuer an den Quellen vorgenommen  wurden  n  tzlich       interdiff  z altes Paket diff gz neues Paket diff gz    Das neue Quellformat 3   O speichert   nderungen in mehreren Patch Dateien  wie in Abschnitt 5 26 beschrieben  Sie k  nnen die    nderungen jeder debian patches   Datei auch mit interdiff nachverfolgen     7 8 Der Befehl mc    Viele dieser Datei  berpr  fungsoperationen k  nnen in einen intuitiven Prozess mit einem Dateimanager wie mc 1  verwandelt  werden  Er erm  glicht es Ihnen  nicht nur die Inhalte eines     deb Pakets anzuschauen  sondern auch die von   udeb      debian tar gz   diff gzund   orig tar gz Dateien     Schauen Sie nach zus  tzlichen  nicht ben  tigten Dateien oder solche der L  nge 0  sowohl im bin  ren als auch im Quellpaket  Oft  werden  Programm  Reste nicht korrekt bereinigt  passen Sie Ihre Datei rules an  um dies zu erm  glichen        Debian Leitfaden f  r Neue Paketbetreuer 51 63       Kapitel 8    Aktualisieren des Pakets    Nachdem Sie ein Paket ver  ffentlichen  werden Sie es bald aktualisieren m  ssen    8 1 Neue Debian Revision    Nehmen wir an  dass ein Fehlerbericht f  r Ihr Paket unter  654321 eingereicht wurde und er ein Problem beschreibt  das Sie  l  sen k  nnen 
110. rchitekturunabh  ngige Pakete oder mehrere Bi   n  rpakete verwandt werden kann  Das Paket cdbs bietet eine alternative Paketierungs Skriptinfrastruktur zum Befehl dh und wird in diesem Dokument nicht  behandelt        Debian Leitfaden f  r Neue Paketbetreuer 13 63       Bitte beachten Sie zwei entscheidende Merkmale in dem Dateinamen gentoo_0 9 12 orig tar gz        Paketname und Version sind durch das Zeichen   _    Unterstrich  getrennt     e Die Zeichenkette   orig wurde vor dem   tar  gz eingef  gt     Beachten Sie au  erdem  dass viele Schablonendateien im Quellverzeichnis im Unterverzeichnis debian erstellt werden  Diese  werden in Kapitel 4 und Kapitel 5 erkl  rt  Weiterhin sollte Ihnen klar sein  dass das Paketieren kein vollautomatischer Prozess  sein kann  Sie m  ssen die urspr  nglichen Quellen f  r Debian ver  ndern  siehe Kapitel 3   Danach m  ssen Sie die geeigneten  Methoden f  r den Bau des Debian Paketes verwenden  Kapitel 6   sie testen  Kapitel 7  und hochladen  Kapitel 9   Alle diese  Schritte werden erl  utert     Wenn Sie versehentlich einige der Schablonendateien gel  scht haben  w  hrend Sie sie bearbeitet haben  k  nnen Sie diese wie   derherstellen  indem Sie erneut dh_make mit der Option    addmissing in einem Debian Quellverzeichnis aufrufen     Das Aktualisieren eines existierenden Pakets kann kompliziert werden  weil es eventuell   ltere Techniken verwendet  W  hrend  Sie die Grundlagen lernen  bleiben Sie bei der Erstellung eines neuen Pakets  
111. rden Beitr  ge zu Paketen  die bereits im Archiv enthalten sind  von anderen Entwicklern wesentlich mehr gew  rdigt   und haben bessere Chancen  gesponsert zu werden     Sie k  nnen auf verschiedene Arten beitragen       Pakete   bernehmen  die verwaist wurden  aber aktiv benutzt werden   e Mitglied in einem Paketierungs Team  http   wiki debian org Teams  werden     Fehler von sehr beliebten Paketen sortieren und bewerten      Vorbereiten von QA  oder NMU Uploads  http   www debian org doc developers reference pkgs html nmu ga upload   Wenn Sie ein Paket   bernehmen m  chten  laden Sie sich das Quell Paket herunter  z  B  mit  apt  get source Paketname     und nehmen Sie es unter die Lupe  Leider enth  lt dieses Dokument keine umfassende Anleitung zum   bernehmen von Paketen     Der Vorteil ist  dass schon jemand das Paket f  r Sie vorbereitet hat und Sie keine Schwierigkeiten haben sollten  herauszufinden   wie das Paket funktioniert  Doch lesen Sie weiter  denn viele der folgenden Ratschl  ge werden auch f  r Sie n  tzlich sein     Falls das Paket neu ist und Sie es gern in Debian integrieren m  chten  gehen Sie wie folgt vor     e Zuerst sollten Sie sicher sein  dass das Programm funktioniert und es bereits einige Zeit ausprobiert haben  damit Sie die  N  tzlichkeit best  tigen k  nnen     e   berpr  fen Sie auf der Site   Arbeit bed  rfende und voraussichtliche Pakete  http   www debian org devel wnpp       dass nie   mand bereits an diesem Paket arbeitet  Falls noch nie
112. rwenden Sie stattdessen   dh     with dkms              Hiermit wird die korrekte Verwendung von DKMS durch die Kernelmodul Pakete sichergestellt     Unterst  tzung f  r die Befehle dh_autotools dev_updateconfig und dh_autotools dev_restoreconfig hinzuf  gen         Aufnahme des Pakets autotools dev in  Build Depends         Verwenden Sie stattdessen   dh     with autotools dev         Hiermit werden die Dateien config sub und config guess aktualisiert und wiederhergestellt     e Unterst  tzung f  r den Befehle dh_autoreconf und dh_autoreconf_clean hinzuf  gen         Aufnahme des Pakets dh autoreconf in  Build Depends         Verwenden Sie stattdessen   dh     with autoreconf           Hiermit werden die Dateien des GNU Bausystems aktualisiert und nach dem Bau wiederhergestellt     Unterst  tzung f  r den Befehl dh_girepository hinzuf  gen         Aufnahme des Pakets gobject introspection in   Build Depends         Verwenden Sie stattdessen   dh     with gir           Das berechnet Abh  ngigkeiten f  r Pakete  die GObject Introspektionsdaten ausliefern und erstellt die Ersetzungsvariable    gir Depends  f  r die Paketabh  ngigkeiten     e Unterst  tzung f  r die Vervollst  ndigung in der bash hinzuf  gen         Aufnahme des Pakets bash completion in  Build Depends         Verwenden Sie stattdessen  dh     with bash completion           Hiermit wird die Vervollst  ndigung durch bash unter Verwendung einer Konfigurationsdatei indebian Paket bash complet  installiert     Viele
113. s gentoo files    5   6 Copyright  1998 2010 Emil Brink  lt emil obsession se gt    7 License  GPL 2    8   9 Files  icons     10 Copyright  1998 Johan Hanson  lt johan tiq com gt     11 License  GPL 2     13 Files  debian     14 Copyright  1998 2010 Josip Rodin  lt joy mg debian org gt    15 License  GPL 2    16   17 License  GPL 2    18 This program is free software  you can redistribute it and or modify  19 it under the terms of the GNU General Public License as published by  20 the Free Software Foundation  either version 2 of the License  or   21  at your option  any later version    22   23 This program is distributed in the hope that it will be useful    24 but WITHOUT ANY WARRANTY  without even the implied warranty of   25 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE  See the   26 GNU General Public License for more details    ZT    28 You should have received a copy of the GNU General Public License along  29 with this program  if not  write to the Free Software Foundation  Inc    30 51 Franklin Street  Fifth Floor  Boston  MA 02110 1301 USA    Sl    32 On Debian systems  the full text of the GNU General Public   33 License version 2 can be found in the file   34     usr share common licenses GPL 2         Die Zeilennummerierung habe ich hinzugef  gt      Bitte befolgen Sie das   HOWTO    das von den FTP Masters zur Verf  gung gestellt wird und an debian devel announce geschickt  wurde  http   lists debian org debian devel announce 2006 03 msg00023 html     4 
114. se Beschreibungen sind auf Englisch    bersetzungen dieser Beschreibungen werden durch das Debian Description Translation Project   DDTP   http   www debian org intl 110n ddtp  bereitgestellt    9 Lesen Sie Debian Entwicklerreferenz  6 2 5    Ort des Versionsverwaltungssystems    http   www debian org doc manuals developers reference best   pkging practices html bpp vcs          Debian Leitfaden f  r Neue Paketbetreuer 24163       Dh_make kann eine Vorlage f  r die Datei copyright erzeugen  Verwenden Sie hier die Option       copyright gp12    um  eine Vorlage f  r das Paket gentoo zu erhalten  das unter GPL 2 ver  ffentlicht wurde     Sie m  ssen hier fehlende Informationen eintragen  um die Datei zu vervollst  ndigen  beispielsweise die Quelle  von der Sie das  Paket bezogen haben  die tats  chlichen Copyright Vermerke und die Lizenz  Bei den verbreiteten Lizenzen von freier Software   GNU GPL 1  GNU GPL 2  GNU GPL 3  LGPL 2  LGPL 2 1  LGPL 3  GNU FDL 1 2  GNU FDL 1 3  Apache 2 0 oder der  Artistic license  k  nnen Sie auf die entsprechende Datei im Verzeichnis  usr share common  licenses  verweisen  das  auf jedem Debian System existiert  Anderenfalls m  ssen Sie die vollst  ndige Lizenz einf  gen     Zusammengefasst sollte die Datei copyright von gentoo so aussehen     1 Format Specification  http   svn debian org wsvn dep web deps dep5 mdwn op file amp rev 135  2 Name  gentoo   3 Maintainer  Josip Rodin  lt joy mg debian org gt    4 Source  http   sourceforge net project
115. se das Folgende aus  wenn ein Makefile existiert und das Ziel distclean enth  lt       make distclean    e dh_auto_configure f  hrt normalerweise das Folgende aus  wenn die Datei configure existiert  Argumente zur besseren  Lesbarkeit abgek  rzt        configure   prefix  usr   sysconfdir  etc   localstatedir  var    e dh_auto_build f  hrt normalerweise das Folgende aus  um das erste Ziel des Makefiles auszuf  hren  falls dieses existiert     make       19 F  r die komplette Information dar  ber  was die ganzen dh_  Skripte genau durchf  hren und wie ihre Optionen lauten  lesen Sie bitte deren Handbuchseiten  und die Dokumentation von debhelper    20 Diese Befehle unterst  tzen andere Bauumgebungen wie setup   py  die durch Ausf  hren von dh_auto_build   1list in einem Paketbauverzeichnis  aufgelistet werden k  nnen    21 Tats  chlich wird nach dem ersten verf  gbaren Ziel aus der Liste distclean  realclean oder clean in dem Makefile gesucht und dieses ausgef  hrt        Debian Leitfaden f  r Neue Paketbetreuer 29 63       e dh_auto_test f  hrt normalerweise das Folgende aus  falls ein Makefile mit dem Ziel test existiert  2    make test    e dh_auto_install f  hrt normalerweise das Folgende aus  falls ein Makefile mit dem Ziel install existiert  Zeile zur bes   seren Lesbarkeit umgebrochen      make install    DESTDIR  Pfad zum Paket_Version Revision debian Paket    Alle Ziele  die den Befehl fakeroot erfordern  werden dh_testroot enthalten  Falls Sie nicht diesen Befehl ben
116. t von Grund auf neu bauen will  kann er daf  r einfach die drei oben genannten Dateien verwenden  Das  Verfahren des Auspackens ist trivial  Kopieren Sie einfach die drei Dateien in ein Verzeichnis und f  hren Sie  dpkg source   x gentoo_0 9 12 1 dsc   aus        e gentoo_0 9 12 1_i386 deb    Das ist Ihr fertiges Bin  rpaket  Sie k  nnen es mit dpkg installieren und wieder entfernen wie jedes andere Paket auch     e gentoo_0 9 12 1_i386 changes    Diese Datei beschreibt alle   nderungen in dieser Paket Revision  Die Verwaltungsprogramme f  r Debians FTP Archive ben  ti   gen diese Datei zur Installation der Bin  r  und Quellcodepakete im FTP Archiv  Sie wird zum Teil aus den Dateien changelog  und  dsc erzeugt     Wenn Sie weiter an dem Paket arbeiten  wird sich sein Verhalten   ndern und neue Funktionen werden hinzugef  gt  Leute   die Ihr Paket herunterladen  k  nnen sich diese Datei ansehen und feststellen  was sich ge  ndert hat  Die Verwaltungsprogram   me f  r das Debian Archiv werden den Inhalt dieser Datei auch an die Mailingliste debian devel changes lists debian org   http   lists debian org debian devel changes   schicken     Die Dateien gentoo_0 9 12 1 dsc und gentoo_0 9 12 1_i386 changes m  ssen unter Verwendung des Befehls  debsign mit Ihrem privaten GPG Schl  ssel  der sich im Verzeichnis    gnupg  befindet  signiert werden  bevor sie zum  Debian FTP Archiv hochgeladen werden  Die GPG Signatur stellt unter Verwendung Ihres   ffentlichen GPG Schl  ssels den  Nac
117. tats  chliche Autobuilder System besteht aus einem wesentlich komplizierteren Schema als dem hier dargestellten  Diese Details f  hren aber hier zu  weit        Debian Leitfaden f  r Neue Paketbetreuer 44163       e des Pakets build essential und    e der Pakete  die im Feld Build Depends  siehe Abschnitt 4 1  aufgef  hrt sind     Dann f  hrt es den folgenden Befehl im Quellverzeichnis aus       dpkg buildpackage  B  Hiermit wird alles erledigt  um ein architekturabh  ngiges Bin  rpaket f  r eine andere Architektur zu erstellen  Im Einzelnen       Aufr  umen des Quellverzeichnisbaums   debian rules cleanx     e Bauen des Programms   debian rules build       e Bauen der architekturabh  ngigen Bin  rpakete   fakeroot debian rules binary arch     e Unterschreiben der   dsc Quelldatei mit gpg        Erstellen und Unterschreiben der f  r das Hochladen notwendigen  changes Datei mit dpkg genchanges und gpg     Das ist der Grund  weshalb Sie Ihr Paket auch f  r andere Architekturen sehen     Obwohl Pakete  die im Feld Build Depends   Indep aufgef  hrt sind  installiert sein m  ssen  wenn wir das Paket bauen  siehe  Abschnitt 6 1   m  ssen diese auf dem Autobuilder System nicht installiert sein  weil es nur architekturabh  ngige Bin  rpakete  baut    Diese Unterscheidung zwischen dem normalen Bau und der Situation bei dem Autobuilder Ablauf entscheidet dar  ber  ob  Sie solche erforderlichen Pakete im Feld Build Depends oder Build Depends Indep der Datei debian control  auflisten  si
118. teien     iconv  f latin1  t utf8 foo_in txt  gt  foo_out txt    e Verwenden Sie w3m 1  zur Umwandlung von HTML Dateien in reine UTF 8 Textdateien  Stellen Sie dabei sicher  dass sie es  unter einer UTF 8 Locale ausf  hren     LC_ALL en_US UTF 8 w3m  o display_charset UTF 8     cols 70  dump  no graph  T text html     lt  foo_in html  gt  foo_out txt    8 6 Erinnerungen f  r die Paketaktualisierung    Es folgen ein paar Erinnerungen f  r die Aktualisierung von Paketen     Erhalten Sie alte Eintr  ge im changelog  klingt offensichtlich  aber es gab F  llen  in denen dch eingegeben wurde  wenn  dch  i h  tte verwandt werden sollen      Existierende Debian   nderungen m  ssen neu gepr  ft werden  schmei  en Sie Zeug weg  das die Originalautoren eingebaut  haben  in einer oder der anderen Form  und denken Sie daran  Zeug zu behalten  das noch nicht eingebaut wurde  falls es nicht  doch   berzeugende Gr  nde f  r die Entfernung gibt     Falls   nderungen am Bausystem vorgenommen wurden  hoffentlich wissen Sie es bei der Pr  fung der   nderungen der Origi   nalautoren  aktualisieren Sie debian rules und die Bauabh  ngigkeiten in debian control falls notwendig        6 Sie k  nnen gross diff in viele kleine  inkrementelle Patches mit dem Befehl splitdiff zerteilen        Debian Leitfaden f  r Neue Paketbetreuer 55   63       e Pr  fen Sie die Fehlerdatenbank  BTS   http   www debian org Bugs   ob jemand Patches f  r derzeit offene Fehler bereitgestellt  hat     e Pr  fen Sie den Inh
119. tellten Bin  rpaket der Laufzeitbibliothek         Secder      dpkg deb  R libfoo1_1 3_amd64 deb libfoo1 tmp     sed  e    s 1  3 1 1  3     libfoo1 tmp DEBIAN symbols     gt libfoo 1 3 debian libfoo1 symbols       Bauen Sie mit Werkzeugen wie debuild und pdebuild Ver  ffentlichungspakete       cd libfoo 1 3    debuild clean    debuild    Zus  tzlich zu den obigen Beispielen m  ssen wir die ABI Kompatibilit  t weiter pr  fen und die Versionen f  r einige Symbole wo  notwendig erh  hen        Obwohl es nur eine nachrangige Referenz ist  k  nnte Debian wiki UsingSymbolsFiles  http   wiki debian org UsingSymbolsFiles   und die darin verlinkten Webseiten hilfreich sein     A 3 Multiarch    Die Multiarch Funktionalit  t  die mit Debian Wheezy eingef  hrt wurde  unterst  tzt die architektur  bergreifende Installation von  Bin  rpaketen  insbesondere 1386 lt   gt amd64  aber auch andere Kombinationen  in dpkg und apt  Sie sollten die folgenden  Referenzen im Detail lesen        H Die Debian Revision wird von der Version entfernt  um das R  ckportieren eines Paketes zu erleichtern  1 3  lt  lt  1 3 1 bpo70 1  lt  lt  1 3 1  12 Siehe Debian Policy Manual  Kapitel 8 6 2   Shared library ABI changes    http   www debian org doc debian policy ch sharedlibs html s sharedlibs   updates          Debian Leitfaden f  r Neue Paketbetreuer 61 63       e Ubuntu wiki MultiarchSpec  https   wiki ubuntu com MultiarchSpec   Originalautoren      Debian wiki Multiarch Implementation  http   wiki debia
120. tent sein als auch flei  ig und sorgf  ltig arbeiten     Falls Sie Hilfe beim Erstellen des Pakets brauchen  lesen Sie bitte Abschnitt 1 4     Neuere Versionen dieses Dokuments sollten immer online   ber http   www debian org doc maint guide  und in dem Paket maint    guide zu finden sein  Die   bersetzungen sind in Paketen wie beispielsweise maint   guide  es verf  gbar  Bitte beachten Sie   dass diese Dokumentation etwas veraltet sein kann     Da dies eine Anleitung ist  wird bei wichtigen Themen jeder Schritt im Detail erkl  rt  Teile davon m  gen Ihnen irrelevant vor   kommen  Haben Sie Geduld  Einige seltene F  lle werden   bersprungen und stattdessen werden nur Verweise geliefert  um dieses  Dokument nicht zu kompliziert werden zu lassen     1 1 Soziale Dynamik von Debian    Es folgen einige Beobachtungen   ber Debians soziale Dynamik  Die Darstellung ist mit der Hoffnung verbunden  dass es Sie f  r  Ihre Arbeit mit Debian vorbereiten wird   e Wir sind alle Freiwillige         Sie k  nnen anderen nicht vorgeben  was getan werden soll         Sie sollten sich selbst f  r Ihre T  tigkeit motivieren        1 In diesem Dokument wird davon ausgegangen  dass Sie ein Jessie System oder ein neueres System verwenden  Wenn Sie diesen Text auf einem   lteren  System  auch einem   lteren Ubuntu System o      lesen  m  ssen Sie mindestens die zur  ckportierten Pakete dpkg und debhelper installieren       Sie k  nnen aus der Debian Referenz  http   www debian org doc manuals debian r
121. tive Anleitung  die Sie zusammen mit diesem Dokument auch lesen k  nnen        Debian Paketier Anleitung  http   www debian org doc packaging manuals packaging tutorial packaging tutorial        Debian Leitfaden f  r Neue Paketbetreuer 5 63       1 4 Wo man Hilfe bekommen kann    Bevor Sie sich entschlie  en  Ihre Frage an einer   ffentlichen Stelle zu stellen  lesen Sie bitte die gute Dokumentation     e Dateien in  usr share doc Paket f  r alle einschl  gigen Pakete   e Inhalte von man Befehl f  r alle einschl  gigen Pakete   e Inhalte von info Befehl f  r alle einschl  gigen Pakete   e Inhalte des Mailinglistenarchivs von debian mentors lists debian org  http   lists debian org debian mentors      Inhalte des Mailinglistenarchivs von debian devel lists debian org  http   lists debian org debian devel      Sie k  nnen Websuchmaschinen effizienter benutzen  indem Sie bei dem Suchausdruck Angaben wie site lists debian   org  um den Suchbereich einzuschr  nken  verwenden     Das Erstellen eines kleinen Testpakets ist ein guter Weg  um die Details der Paketerstellung zu lernen  Das Untersuchen von  existierenden  gut betreuten Paketen ist die beste Art  zu lernen  wie andere Leute Pakete machen     Falls Sie immer noch Fragen   ber das Paketieren haben  f  r die Sie keine Antworten in der verf  gbaren Dokumentation und den  Web Ressourcen finden konnten  k  nnen Sie diese interaktiv stellen     debian mentors lists debian org Mailingliste  http   lists debian org debian mentors
122. truktur wie f  r Dateien zur Verf  gung  die als Conffile gekennzeichnet wurden  Damit  bleiben von Benutzern durchgef  hrte   nderungen an Dateien erhalten  auch wenn diese Dateien nicht als Conffiles gekennzeich   net werden k  nnen  Beispiele hierf  r sind Dateien  die von den Betreuerskripten verwaltet werden  Hierdurch sollen Probleme in  der Behandlung dieser Dateien minimiert werden     Diese Betreuerskripte geh  ren zu den Errungenschaften von Debian  die erkl  ren  warum jemand Debian verwendet  Sie m  s   sen sehr darauf achten  diese Skripte zu einem Grund f  r   rger werden zu lassen     5 20 Paket  symbols    Paketierung einer Bibliothek ist f  r einen neuen Betreuer nicht leicht und sollte vermieden werden  Hat Ihr Paket allerdings  Bibliotheken  dann sollten Sie eine Datei debian Paket   symbols haben  Lesen Sie Abschnitt A 2     5 21 TODO    Der Befehl dh_installdocs 1  installiert diese Datei     5 22 watch    Das Format der Datei watch ist in der Handbuchseite von uscan 1  dokumentiert  Die Datei watch konfiguriert das Programm  uscan  aus dem Paket devscripts   um die Seite zu   berwachen  von der Sie die Originalquellen bezogen haben  Dies wird  au  erdem von dem Dienst Debian External Health Status  DEHS   http   wiki debian org DEHS  benutzt     Hier sind seine Inhalte          Trotz der hier verwendeten Abk  rzungssyntax  pre  post  inst  rm  von bash  um die Dateinamen zu bezeichnen  sollten Sie reine POSIX Syntax  f  r diese Betreuerskripte verwenden 
123. uerinformationen f  r das Quellcode Paket  Zeilen 9 13 sind die Steuerinformationen f  r das Bin  rpaket   Zeile 1 ist der Name des Quellcode Pakets    Zeile 2 bestimmt den Bereich der Distribution  in die das Quellcode Paket geh  rt     Sie haben bestimmt schon gemerkt  dass das Debian Archiv in mehrere Bereiche aufgeteilt ist  main  freie Software   non  free   nicht wirklich freie Software  und contrib  freie Software  die von non free Software abh  ngt   Jeder davon ist in Abschnitte  eingeteilt  die die Pakete in grobe Kategorien sortieren  Dementsprechend gibt es admin f  r Programme f  r Administratoren  de    vel f  r Programmierwerkzeuge  doc f  r Dokumentation  1ibs f  r Programmbibliotheken  mail f  r E Mail Leseprogramme       1 In diesem Kapitel werden zur Vereinfachung Dateien im Verzeichnis debian ohne das einleitende debian  referenziert  wann immer die Bedeutung  eindeutig ist        Debian Leitfaden f  r Neue Paketbetreuer 20 63       und  Daemons  net f  r Netzwerk Anwendungen und Daemons  X11 f  r X11 Programme  die nirgendwo anders unterkommen   und viele mehr       Ver  ndern Sie den Bereich also zu x11  das Pr  fix main  wird impliziert  also k  nnen wir es weglassen      Zeile 3 beschreibt  wie wichtig es ist  dass der Benutzer das Paket installiert       e Die Priorit  t optional ist normalerweise f  r neue Pakete sinnvoll  die nicht mit anderen Paketen der Priorit  ten required   important oder standard kollidieren        Die Priorit  t extra ist nor
124. urch  optional   e entfernen Sie es vollst  ndig   e Installieren Sie das neue Paket     Entfernen Sie es      Installieren Sie es wieder   e entfernen Sie es vollst  ndig    Falls dies Ihr erstes Paket ist  sollten Sie ein Pseudo Paket mit einer anderen Version erstellen  um Ihr Paket vorab zu testen und  zuk  nftige Probleme zu vermeiden     Behalten Sie im Hinterkopf  dass die Benutzer ein Upgrade von der Version  die in der letzten Debian Ver  ffentlichung enthalten  war  durchf  hren werden  falls es schon mal ver  ffentlicht wurde  Denken Sie daran  auch Upgrades von dieser Version zu pr  fen     Obwohl ein Downgrade offiziell nicht unterst  tzt wird  ist es eine nette Geste  dies dennoch zu unterst  tzen     7 4 lintian verwenden    F  hren Sie lintian 1  mit Ihrer Datei   changes aus  Der Befehl lintian f  hrt viele Skripte aus  um auf typische Paketierungs   fehler zu pr  fen         lintian  i  I   show overrides gentoo_0 9 12 1_i386 changes    Selbstverst  ndlich m  ssen Sie den Dateinamen mit dem Namen der Datei   changes  die f  r Ihr Paket erstellt wurde  ersetzen   Die Ausgabe des Befehls lintian verwendet die folgenden Schalter    e E  f  r Fehler  eine definitive Verletzung der Richtlinien oder ein Paketierungsfehler    e W  f  r Warnungen  eine m  gliche Verletzung der Richtlinien oder ein m  glicher Paketierungsfehler       I  f  r Information  Informationen   ber bestimmte Aspekte der Paketierung    e N  f  r Hinweis  eine detaillierte Meldung  um bei der 
125. urspr  nglichen Tarballs als gentoo_8 9 12 orig tar gz im   ber   geordneten Verzeichnis  um sp  ter die Erstellung eines nicht nativen Debian Quellpakets mit dem Namen debian tar gz zu  erm  glichen       cd   gentoo   1s  F  gentoo 0 9 12   gentoo 0 9 12 tar gz  gentoo_0 9 12 orig tar gz       16 Der folgende Text setzt voraus  dass Sie Bash als Ihre Login Shell benutzen  Falls Sie eine andere Login Shell wie beispielsweise die Z Shell verwenden   benutzen Sie die entsprechenden Konfigurationsdateien statt      bashrc    17 Wenn die originalen Quellen das Verzeichnis debian und seinen Inhalt enthalten  rufen Sie den Befehl dh_make mit der zus  tzlichen Option    addmi  ssing auf  Das neue Quellformat 3 0  quilt  ist robust genug  selbst mit solchen Paketen umzugehen  Sie m  ssen wahrscheinlich die vom Originalautor  bereitgestellten Inhalte f  r Ihr Debian Paket aktualisieren    18 Es gibt hier mehrere Auswahlm  glichkeiten    s   f  r   Single binary package    einzelnes Bin  rpaket     i   f  r   Arch Independent package    Architektur   unabh  ngiges Paket     m   f  r   Multiple binary packages    mehrere Bin  rpakete     1   f  r   Library package    Bibliothekspaket     k   f  r   Kernel module packa   ge    Kernelmodulpaket     n   f  r   Kernel patch package    Kernelpatch Paket  und   b   f  r   cdbs   Pakete  Dieses Dokument konzentriert sich auf den Befehl  dh  aus dem Paket debhelper   um ein einzelnes Bin  rpaket zu erstellen  aber zeigt auch auf  wie es f  r a
126. utzen  um vorzu   geben    root   zu sein  wird er mit einer Fehlermeldung beendet     Das Wichtigste  was Sie   ber die Datei rules wissen m  ssen  die von dh_make erzeugt wurde  ist  dass sie lediglich ein  Vorschlag ist  Sie funktioniert f  r die meisten Pakete  aber f  r etwas kompliziertere Pakete sollten Sie sich nicht scheuen  sie f  r  Ihre Zwecke anzupassen     Obwohl   install   kein erforderliches Ziel ist  wird es unterst  tzt    Fakeroot dh install   verh  lt sich wie  fakero  ot dh binary    stoppt aber nach dh_fixperms     4 4 3 Anpassungen der Datei rules    Es gibt viele Arten  die rules Datei anzupassen  die den neuen Befehl dh verwendet     Der Befehl   dh      kann wie folgt angepasst werden           e Unterst  tzung des Befehls dh_python2 hinzuf  gen  Die beste Wahl f  r Python             Aufnahme des Pakets python in   Build Depends         Verwenden Sie stattdessen   dh     with python2         Hiermit werden Python Module mit dem Rahmenwerk python bearbeitet     e Unterst  tzung f  r den Befehl dh_pysupport hinzuf  gen   veraltet         Aufnahme des Pakets python support in  Build Depends         Verwenden Sie  dh     with pysupport         Hiermit werden Python Module mit dem Rahmenwerk python support bearbeitet     e Unterst  tzung f  r den Befehl dh_pycentral hinzuf  gen   veraltet     Aufnahme des Pakets python central in  Build Depends       Verwenden Sie stattdessen   dh     with python central          Hierdurch wird auch der Befehl dh_pysupp
127. was veraltet und nur Sekund  rliteratur ist  k  nnte der Debian Library Packaging Guide  http   www netfort gr jp      dancer column libpkg guide libpkg guide html  noch n  tzlich sein     A 2 debian raket symbols verwalten    Wenn Sie eine Laufzeitbibliothek paketieren  sollten Sie eine Datei debian Paket symbols erstellen  um die minimale  Version zu verwalten  die jedem Symbol f  r riickw  rts kompatible ABI   nderungen unter dem gleichen SONAME der Bibliothek  f  r den gleichen Laufzeitbibliotheksnamen zugeordnet ist  Sie sollten die folgenden prim  ren Referenzen im Detail lesen     e Debian Policy Manual  Kapitel 8 6 3   The symbols system    http   www debian org doc debian policy ch sharedlibs html s   sharedlibs symbols           dh_makeshlibs 1       dpkg gensymbols 1      dpkg shlibdeps 1       deb symbols 5     Es folgt ein grobes Beispiel  um das Paket 1ibf001 f  r die Version 1 3 der Originalautoren mit der korrekten Datei debian   libfoo1 symbols zu erstellen     e Bereiten Sie das Ger  st des debianisierten Quellbaums mit der Datei der Originalautoren libfoo 1 3 tar gz vor         Falls dies das erstmalige Paketieren des Pakets 1ibf001 ist  erstellen Sie die Datei debian libfoo1 symbols mit  leerem Inhalt         Falls die vorherige Version 1 2 der Originalautoren im Paket Llibf001 mit der korrekten debian libfoo1 symbols  in seinem Quellpaket paketiert war  verwenden sie diese wieder         Falls die vorhergehende Version 1 2 der Originalautoren nicht mit de
128. weitere Erkl  rungen werden in Kapitel 8 gegeben     Bitte beachten Sie  dass die Quellen kein in Abschnitt 2 4 und Abschnitt 2 5 beschriebenes Bausystem enthalten m  ssen  Es  k  nnte eine reine Sammlung von graphischen Daten usw  sein  Die Installation der Dateien k  nnten rein mit debhelper   Konfigurationsdateien wie debian install  siehe Abschnitt 5 11  erfolgen        Debian Leitfaden f  r Neue Paketbetreuer 14 63       Kapitel 3    Den Quellcode ver  ndern    Bitte beachten Sie  dass an dieser Stelle nicht auf alle Details eingegangen wird  wie die urspr  nglichen Quellen korrigiert werden  k  nnen  aber hier sind ein paar grundlegende Schritte und Probleme  auf die man h  ufig st    t     3 1 Einrichten von quilt    Das Programm quilt bietet eine grundlegende Methode  um   nderungen an den urspr  nglichen Quellen f  r das Debian Paket  aufzuzeichnen  Es ist sinnvoll  eine leicht ge  nderte Voreinstellungen zu verwenden  daher sollte ein Alias dquilt f  r die Debian   Paketierung erstellt werden  indem folgendes zur      bashrc hinzugef  gt wird  dabei stellt die zweite Zeile die gleichen Shell   Vervollst  ndigungsfunktionalit  t wie der Befehl quilt f  r den Befehl dquilt bereit     alias dquilt  quilt   quiltrc   HOME    quiltrc dpkg     complete  F _quilt_completion  _quilt_complete_opt dquilt    Dann erstellen Sie die    quiltrc dpkg wie folgt     d     while      d  d debian  a    readlink  e  d          do d  d     done  if    d  d debian    amp  amp     z SQUIL
129. wenden werden  und wenn Sie einen kritischen Fehler gemacht haben  werden  Sie von unz  hligen ver  rgerten Debian Benutzern mit E Mails   bersch  ttet     war nur ein Scherz         Entspannen Sie sich und stellen Sie sich auf Fehlerberichte ein  denn es ist noch viel mehr Arbeit zu erledigen  bevor Ihr Paket  vollst  ndig im Einklang mit den Debian Richtlinien sowie dessen bew  hrten Verfahren ist  nochmals  lesen Sie die wirkliche  Dokumentation f  r Details   Viel Gl  ck        Debian Leitfaden f  r Neue Paketbetreuer 6 63       Kapitel 2    Erste Schritte    Lassen Sie uns anfangen  indem Sie Ihr eigenes Paket erstellen  oder  noch besser  ein vorhandenes   bernehmen      2 1 Arbeitsschritte beim Bau von Debian Paketen    Falls Sie ein Debian Paket mit einem Programm von  anderen  Originalautoren erstellen  ist ein Teil der typischen Arbeitsschritte  des Debian Paketbaus die Erstellung mehrerer speziell benannter Dateien f  r jeden Schritt  wie folgt        Besorgen Sie sich eine Kopie der Software der Originalautoren  normalerweise in einem komprimierten Tar Format       Paket Version tar gz       F  gen Sie Debian spezifische Paketanpassungen zu dem Programm der Originalautoren im Verzeichnis debian hinzu und  erstellen Sie ein nicht natives Quellpaket  d h  die Menge an Eingabedateien  die zum Bau des Debian Pakets verwandt wird   im Format 3 0  quilt          Paket_Version orig tar gz    Paket_Version Revision debian tar gz       Paket_Version Revision dsc    e Aus D
130. zeitbibliotheken werden manchmal dazu benutzt  mehrere Erweiterungen eines Programms mittels des dlopen Mechanismus  bereitzustellen     Laufzeitbibliotheken exportieren Symbole  die   bersetzte Objekte wie Variablen  Funktionen und Klassen darstellen und darauf  Zugriff von dem verlinkten Programm erm  glichen     Der SONAME einer Laufzeitbibliothek libfoo so 1  objdump  p libfoo so 1   grep SONAME      Der SONAME einer Laufzeitbibliothek passt typischerweise  aber nicht immer  auf den Dateinamen der Bibliothek     Der SONAME von Laufzeitbibliotheken  die nach  usr bin foo gelinkt sind  objdump  p  usr bin foo   grep  NEEDED        Alternativ  readelf  d libfo0 so 1   grep SONAME  2 Alternativ  readelf  d l1libfoo so 1   grep NEEDED          Debian Leitfaden f  r Neue Paketbetreuer 59 63       e libfoo1  das Bibliothekspaket f  r die Laufzeitbibliothek 1ibfoo   so  1 mit der SONAME ABI Version 1         Die Paketbetreuerskripte des Bibliothekspakets m  ssen Idconfig unter den bestimmten Randbedingungen aufrufen  um die  notwendigen symbolischen Links f  r den SONAME zu erzeugen      e libfoo1 dbg  das Fehlersuch Symbol Paket  das die Debugging Symbole f  r das Laufzeitpaket 1ibfoo1 enth  lt    e libfoo dev  das Entwicklungspaket  das die Header Dateien usw  f  r die Laufzeitbibliothek libfoo soenth  lt  1        Debian Pakete sollten im Allgemeinen keine     1a Libtool Archive enthalten        Debian Pakete sollten im Allgemeinen keinen RPATH enthalten        e Obwohl sie et
131. zukommen lassen  damit er sie in der n  chsten Programmversi    on verwenden kann und sie f  r andere auch n  tzlich sind  Denken Sie auch daran  Ihre Patches nicht spezifisch f  r Debian oder   Linux  oder sogar Unix   zu gestalten  sondern sie portierbar zu erstellen  Dadurch k  nnen Ihre   nderungen wesentlich leichter    bernommen werden     Beachten Sie  dass Sie dem Originalautoren die debian    Dateien nicht schicken m  ssen     3 4 Unterschiedliche Bibliotheken    Es gibt ein anderes typisches Problem  Bibliotheken variieren oft von Plattform zu Plattform  Beispielsweise kann ein Makefile  eine Referenz auf eine Bibliothek enthalten  die auf Debian Systemen nicht existiert  In diesem Fall m  ssen wir sie auf eine  Bibliothek   ndern  die unter Debian existiert und den gleichen Zweck erf  llt     Nehmen wir an  eine Datei in dem Makefile  oder Makefile in  Ihres Programms lautet wie folgt   LIBS    1foo  lbar    Falls Ihr Programm nicht   bersetzt  da die Bibliothek foo nicht existiert und auf Debian Systemen ihr   quivalent von der Bi   bliothek foo2 bereitgestellt wird  k  nnen Sie dieses Bauproblem mittels debian patches foo2 patch beheben  indem  Sie foo in foo2   ndern           5 Falls es API   nderungen von der Bibliothek foo zu der Bibliothek f002 gibt  m  ssen die Quellen entsprechend angepasst werden  um auf die neue API  zu passen        Debian Leitfaden f  r Neue Paketbetreuer    18 63       dquilt new foo2 patch   dquilt add Makefile   sed  i  e    s  1foo
    
Download Pdf Manuals
 
 
    
Related Search
    
Related Contents
スマートログ V5 - Desco Industries Inc.  Réchaud - 5e groupe scout Grand  Emisiones otoacústicas para evaluación auditiva en el periodo  Manuale dell`Operatore Rullo Compressore  1-110-FC-11361 LAVA 0ºC  The Unofficial Glock Users Manual    Copyright © All rights reserved. 
   Failed to retrieve file