Hallo, und jetzt Teil 2 der Übersetzung, 218 Zeichenketten stark, mit der von mir gewohnten Bitte um konstruktive Kritik. Vielen Dank & Grüße Helge #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url="&policy-source;">5.6.1 "Source"</ulink>, <ulink url=" ""&policy-package;">5.6.7 "Package"</ulink>, and <ulink url="&policy-" "version;">5.6.12 "Version"</ulink>. The <emphasis role="strong" "">package architecture</emphasis> follows the <ulink url="&policy-" "architecture;">Debian Policy Manual, 5.6.8 "Architecture"</ulink> and is " "automatically assigned by the package build process." msgstr "" "Lesen Sie <ulink url="&policy-source;">5.6.1 "Source"</ulink>, <ulink " "url="&policy-package;">5.6.7 "Package"</ulink> und <ulink url="&policy-" "version;">5.6.12 "Version"</ulink>. Die <emphasis role="strong" "">Paketarchitektur</emphasis> folgt dem <ulink url="&policy-architecture;" "">Debian Policy Manual, 5.6.8 "Architecture"</ulink> und wird während des " "Paketbauprozesses automatisch zugewiesen." #. type: Content of: <book><chapter><section><para> msgid "" "In the file names above, replace the <literal><replaceable>package</" "replaceable></literal> part with the <emphasis role="strong">package name</" "emphasis>, the <literal><replaceable>version</replaceable></literal> part " "with the <emphasis role="strong">upstream version</emphasis>, the " "<literal><replaceable>revision</replaceable></literal> part with the " "<emphasis role="strong">Debian revision</emphasis>, and the " "<literal><replaceable>arch</replaceable></literal> part with the <emphasis " "role="strong">package architecture</emphasis>, as defined in the Debian " "Policy Manual. <placeholder type="footnote" id="0"/>" msgstr "" "Im obigen Dateinamen wird der <literal><replaceable>Paket</replaceable></" "literal>-Teil mit dem <emphasis role="strong">Paketnamen</emphasis>, der " "<literal><replaceable>Version</replaceable></literal>-Teil mit der <emphasis " "role="strong">Version der Originalautoren</emphasis>, der " "<literal><replaceable>Revision</replaceable></literal>-Teil mit der " "<emphasis role="strong">Debian-Revision</emphasis> und der " "<literal><replaceable>arch</replaceable></literal>-Teil mit der <emphasis " "role="strong">Paketarchitektur</emphasis>, wie dies in dem »Debian Policy " "Manual« festgelegt ist, ersetzt. <placeholder type="footnote" id="0"/>" #. type: Content of: <book><chapter><section><para> msgid "" "If instead you are making a Debian-specific package with no upstream, the " "typical workflow of Debian package building is simpler." msgstr "" "Falls Sie stattdessen ein Debian-spezifisches Paket ohne (andere) " "Originalautoren erstellen, ist der typische Arbeitsablauf bei der " "Paketerstellung einfacher." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Create a native Debian source package in the <literal>3.0 (native)</literal> " "format using a single compressed tar file in which all files are included." msgstr "" "Erstellen Sie ein natives Debian-Quellpaket im Format <literal>3.0 (native)</" "literal> mit einer einzelnen komprimierten Tar-Datei, in der allen Dateien " "enthalten sind." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>.tar.gz" msgstr "" "<replaceable>Paket</replaceable>_<replaceable>Version</replaceable>.tar.gz" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>.dsc" msgstr "" "<replaceable>Paket</replaceable>_<replaceable>Version</replaceable>.dsc" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Build Debian binary packages from the native Debian source package." msgstr "Bauen Sie Debian-Binärpakete aus den nativen Debian-Quellpaketen." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</" "replaceable>_<replaceable>arch</replaceable>.deb" msgstr "" "<replaceable>Paket</replaceable>_<replaceable>Version</" "replaceable>_<replaceable>Arch</replaceable>.deb" #. type: Content of: <book><chapter><section><para> msgid "" "Each step of this outline is explained with detailed examples in later " "sections." msgstr "" "Jeder Schritt dieser Übersicht wird in späteren Abschnitten mit in " "detaillierten Beispielen erklärt." #. type: Content of: <book><chapter><section><title> msgid "Choose your program" msgstr "Ihr Programm auswählen" #. type: Content of: <book><chapter><section><para> msgid "" "You have probably chosen the package you want to create. The first thing " "you need to do is check if the package is in the distribution archive " "already by using the following." msgstr "" "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." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "the <command>aptitude</command> command" msgstr "den Befehl <command>aptitude</command>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "the <ulink url="&packages-do;">Debian packages</ulink> web page" msgstr "die Webseite <ulink url="&packages-do;">Debian-Pakete</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "the <ulink url="&packages-qa-do;">Debian Package Tracking System</ulink> " "web page" msgstr "" "die Webseite <ulink url="&packages-qa-do;">Debian Package Tracking System</" "ulink>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url="&devref-adopt;">Debian Developer's Reference 5.9.5. " ""Adopting a package"</ulink>." msgstr "" "Lesen Sie die <ulink url="&devref-adopt;">Debian Developer's Reference " "5.9.5. "Adopting a package"</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "If the package already exists, well, install it! :-) If it happens to be " "<emphasis role="strong">orphaned</emphasis> (that is, if its maintainer is " "set to <ulink url="&qa-do;">Debian QA Group</ulink>), you may be able to " "pick it up if it's still available. You may also adopt a package whose " "maintainer has filed a Request for Adoption (<emphasis role="strong">RFA</" "emphasis>).<placeholder type="footnote" id="0"/>" msgstr "" "Wenn es das Paket schon gibt, na, dann installieren Sie es! :-) Falls es " "<emphasis role="strong">aufgegeben (»orphaned«)</emphasis> wurde (wenn als " "Betreuer »<ulink url="&qa-do;">Debian QA Group</ulink>« 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« (<emphasis role="strong">RFA</emphasis>) geschrieben hat. " "<placeholder type="footnote" id="0"/>" #. type: Content of: <book><chapter><section><para> msgid "There are several package ownership status resources." msgstr "Es gibt mehrere Ressourcen zur Paketeigentümerschaft" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url="&wnpp-do;">Work-Needing and Prospective Packages</ulink>" msgstr "" "<ulink url="&wnpp-do;">Arbeit-bedürfende und voraussichtliche Pakete</" "ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url="&wnpp-bts;">Debian Bug report logs: Bugs in pseudo-package " "<systemitem role="package">wnpp</systemitem> in <literal>unstable</" "literal></ulink>" msgstr "" "<ulink url="&wnpp-bts;">Debian-Fehlerdatenbank-Protokolle: Fehler im " "Pseudo-Paket <systemitem role="package">wnpp</systemitem> in " "<literal>unstable</literal></ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url="&wnpp-dn;">Debian Packages that Need Lovin'</ulink>" msgstr "" "<ulink url="&wnpp-dn;">Debian-Pakete, die Aufmerksamkeit benötigen</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url="&wnpp-debtags;">Browse <systemitem role="package">wnpp</" "systemitem> bugs based on debtags</ulink>" msgstr "" "<ulink url="&wnpp-debtags;">Durchsuchen Sie basierend auf Debtags die " "<systemitem role="package">wnpp</systemitem>-Fehler</ulink>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Having said that, there will of course always be new programs that are worth " "packaging." msgstr "" "Trotzdem gibt es natürlich immer neue Programme, die es wert sind, für " "Debian paketiert zu werden." #. type: Content of: <book><chapter><section><para> msgid "" "As a side note, it's important to point out that Debian already has packages " "for most kinds of programs, and the number of packages already in the Debian " "archive is much larger than that of contributors with upload rights. Thus, " "contributions to packages already in the archive are far more appreciated " "(and more likely to receive sponsorship) by other developers <placeholder " "type="footnote" id="0"/>. You can contribute in various ways." msgstr "" "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 werden Beiträge zu Paketen, die bereits im " "Archiv enthalten sind, von anderen Entwicklern wesentlich mehr gewürdigt " "(und haben bessere Chancen, gesponsert zu werden) <placeholder type=" ""footnote" id="0"/>. Sie können auf verschiedene Arten beitragen." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "taking over orphaned, yet actively used, packages" msgstr "Pakete übernehmen, die aufgegeben wurden, aber aktiv benutzt werden" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "joining <ulink url="&teams;">packaging teams</ulink>" msgstr "" "Mitglied in einem <ulink url="&teams;">Paketierungs-Team</ulink> werden" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "triaging bugs of very popular packages" msgstr "Fehler von sehr beliebten Paketen sortieren und bewerten" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "preparing <ulink url="&devref-nmu;">QA or NMU uploads</ulink>" msgstr "" "Vorbereiten von <ulink url="&devref-nmu;">QA- oder NMU-Uploads</ulink>" #. type: Content of: <book><chapter><section><para> msgid "" "If you are able to adopt the package, get the sources (with something like " "<literal>apt-get source <replaceable>packagename</replaceable></literal>) " "and examine them. This document unfortunately doesn't include comprehensive " "information about adopting packages. Thankfully you shouldn't have a hard " "time figuring out how the package works since someone has already done the " "initial setup for you. Keep reading, though; a lot of the advice below will " "still be applicable for your case." msgstr "" "Wenn Sie ein Paket übernehmen möchten, laden Sie sich das Quell-Paket " "herunter (z. B. mit »<literal>apt-get source <replaceable>Paketname</" "replaceable></literal>«) 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." #. type: Content of: <book><chapter><section><para> msgid "" "If the package is new, and you decide you'd like to see it in Debian, " "proceed as follows:" msgstr "" "Falls das Paket neu ist und Sie es gern in Debian integrieren möchten, gehen " "Sie wie folgt vor:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "First, you must know that the program works, and have tried it for some time " "to confirm its usefulness." msgstr "" "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." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "You must check that no one else is already working on the package on the " "<ulink url="&wnpp-do;">Work-Needing and Prospective Packages</ulink> " "site. If no one else is working on it, file an ITP (Intent To Package) bug " "report to the <systemitem role="package">wnpp</systemitem> pseudo-package " "using <command>reportbug</command>. If someone's already on it, contact " "them if you feel you need to. If not - find another interesting program " "that nobody is maintaining." msgstr "" "Überprüfen Sie auf der Site »<ulink url="&wnpp-do;">Arbeit-" "bedürfende und voraussichtliche Pakete</ulink>«, dass niemand bereits an " "diesem Paket arbeitet. Falls noch niemand daran arbeitet, schreiben Sie mit " "<command>reportbug</command> einen ITP-Fehlerbericht (»Intent To Package«; " "Absicht, das Paket zu erstellen) an das <systemitem role="package">wnpp</" "systemitem>-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." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "The software <emphasis role="strong">must have a license</emphasis>." msgstr "" "Die Software <emphasis role="strong">muss eine Lizenz haben</emphasis>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "For the <literal>main</literal> section, Debian Policy requires it <emphasis " "role="strong">to be fully compliant with the Debian Free Software " "Guidelines</emphasis> (<ulink url="&dfsg;">DFSG</ulink>) and <emphasis " "role="strong">not to require a package outside of <literal>main</literal></" "emphasis> for compilation or execution. This is the desired case." msgstr "" "Für den Bereich <literal>main</literal> verlangen die Debian-Richtlinien, " "dass es <emphasis role="strong">die Debian-Richtlinien für Freie Software " "komplett erfüllt</emphasis> (<ulink url="&dfsg;">DFSG</ulink>) und " "<emphasis>kein Paket außerhalb von <literal>main</literal> benötigt</" "emphasis>, um zu kompilieren oder ausgeführt zu werden. Dies ist der " "erwünschte Fall." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "For the <literal>contrib</literal> section, it must comply with the DFSG but " "it may require a package outside of <literal>main</literal> for compilation " "or execution." msgstr "" "Für den Bereich <literal>contrib</literal> muss es zu den DFSG konform sein, " "darf aber ein Paket außerhalb von <literal>main</literal> für die " "Kompilierung oder Ausführung erfordern." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "For the <literal>non-free</literal> section, it may be non-compliant with " "the DFSG but it <emphasis role="strong">must be distributable</emphasis>." msgstr "" "Für den Bereich <literal>non-free</literal> darf es gegen Punkte der DFSG " "verstoßen, es <emphasis role="strong">muss aber verteilbar sein</emphasis>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "If you are unsure about where it should go, post the license text on <ulink " "url="&debian-legal-ldo;">debian-legal@lists.debian.org</ulink> and ask for " "advice." msgstr "" "Sind Sie nicht sicher, wohin das Paket gehört, schicken Sie den Lizenztext " "an <ulink url="&debian-legal-ldo;">debian-legal@lists.debian.org</ulink> " "und bitten um Rat." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The program should <emphasis role="strong">not</emphasis> introduce " "security and maintenance concerns to the Debian system." msgstr "" "Das Programm sollte <emphasis role="strong">keine</emphasis> " "Sicherheitsprobleme und Betreuungssorgen zum Debian-System hinzufügen." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "The program should be well documented and its code needs to be " "understandable (i.e. not obfuscated)." msgstr "" "Das Programm sollte gut dokumentiert und der Quellcode verständlich (d.h. " "nicht verschleiert) sein." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "You should contact the program's author(s) to check if they agree with " "packaging it and are amicable to Debian. It is important to be able to " "consult with the author(s) in case of any problems with the program, so " "don't try to package unmaintained software." msgstr "" "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 man die Autoren auch später im Fall " "von Problemen über das Programm befragen kann. Versuchen Sie also nicht, " "aufgegebene Programme zu paketieren." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "The program certainly should <emphasis role="strong">not</emphasis> run " "setuid root, or even better, it shouldn't need to be setuid or setgid to " "anything." msgstr "" "Das Programm sollte sicherlich <emphasis role="strong">nicht</emphasis> " "als »setuid root« laufen, oder noch besser, es sollte für die Ausführung " "überhaupt keine setuid- oder setgid-Rechte brauchen." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "The program should not be a daemon, or go in an <filename>*/sbin</filename> " "directory, or open a port as root." msgstr "" "Das Programm sollte kein Daemon sein oder in die Verzeichnisse <filename>*/" "sbin</filename> installiert werden und auch keinen Port als Root öffnen." #. type: Content of: <book><chapter><section><para> msgid "" "Of course, the last one is just a safety measures, and intended to save you " "from enraging users if you do something wrong in some setuid daemon... When " "you gain more experience in packaging, you'll be able to package such " "software." msgstr "" "Natürlich ist der zuletzt aufgeführt Punkte eher eine Sicherheitsmaßnahmen " "und sollen 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." #. type: Content of: <book><chapter><section><para> msgid "" "As a new maintainer, you are encouraged to get some experience in packaging " "with easier packages and discouraged from creating complicated packages." msgstr "" "Als neuer Betreuer wird Ihnen empfohlen, Erfahrung im Paketieren einfacher " "Pakete zu sammeln und Ihnen abgeraten, komplizierte Pakete zu erstellen." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Simple packages" msgstr "Einfache Pakete" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "single binary package, arch = all (collection of data such as wallpaper " "graphics)" msgstr "" "einfaches Binärpaket, arch=all (Sammlung von Daten, wie " "Hintergrundgraphiken) " #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "single binary package, arch = all (executables written in an interpreted " "language such as POSIX shell)" msgstr "" "einfaches Binärpaket, arch=all (in interpretierten Sprachen wie POSIX-Shell " "geschriebene Programme)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Intermediate complexity packages" msgstr "Mittel-komplexe Pakete" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "single binary package, arch = any (ELF binary executables compiled from " "languages such as C and C++)" msgstr "" "einfaches Binärpaket, arch=any (ELF-Binärprogramme, kompiliert aus Sprachen " "wie C und C++)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "multiple binary packages, arch = any + all (packages for ELF binary " "executables + documentation)" msgstr "" "mehrere Binärpakete, arch=any+all (Pakete für ELF-Binärprogramme + " "Dokumentation)" # FIXME: xz auch i.O. #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "upstream source in a format other than <filename>tar.gz</filename> or " "<filename>tar.bz2</filename>" msgstr "" "Quellen der Originalautoren ist weder im Format <filename>tar.gz</filename> " "noch im Format <filename>tar.bz2</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "upstream source containing undistributable contents" msgstr "" "die Quellen der Originalautoren enthalten Inhalte, die nicht verteilt werden " "dürfen" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "High complexity packages" msgstr "Hochkomplexe Pakete" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "interpreter module package used by other packages" msgstr "Interpretermodulpakete, die von anderen Paketen verwandt werden" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "generic ELF library package used by other packages" msgstr "" "generische ELF-Bibliothekspakete, die von anderen Paketen verwandt werden" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "multiple binary packages including an ELF library package" msgstr "mehrere Binärpakete, darunter ein ELF-Bibliothekspaket" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "source package with multiple upstream sources" msgstr "Quellpakete mit mehreren Quellen von Originalautoren" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "kernel module packages" msgstr "Kernelmodul-Pakete" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "kernel patch packages" msgstr "Kernel-Patch-Pakete" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "any package with non-trivial maintainer scripts" msgstr "jedes Paket mit nicht trivialen Betreuerskripten" #. type: Content of: <book><chapter><section><para> msgid "" "Packaging high complexity packages is not too hard, but it requires a bit " "more knowledge. You should seek specific guidance for every complex feature. " "For example, some languages have their own sub-policy documents:" msgstr "" "Paketieren von hochkomplexen Paketen ist nicht zu schwer, erfordert aber ein " "bisschen mehr Wissen. Sie sollten spezielle Hilfestellungen für jede komplexe " "Funktionalität erbitten. Beispielsweise haben einige Sprachen ihre eigenen " "Unterrichtlinien-Dokumente:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url="&policy-perl;">Perl policy</ulink>" msgstr "<ulink url="&policy-perl;">Perl-Richtlinien</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url="&policy-python;">Python policy</ulink>" msgstr "<ulink url="&policy-python;">Python-Richtlinien</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url="&policy-java;">Java policy</ulink>" msgstr "<ulink url="&policy-java;">Java-Richtlinien</ulink>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Do not worry about the missing <filename>Makefile</filename>. You can " "install the <command>hello</command> command by simply using " "<command>debhelper</command> as in <xref linkend="install"/>, or by " "modifying the upstream source to add a new <filename>Makefile</filename> " "with the <literal>install</literal> target as in <xref linkend="modify"/>." msgstr "" "Machen Sie sich keine Sorge um die fehlende <filename>Makefile</filename>. " "Sie können den Befehl <command>hello</command> einfach mittels " "<command>debhelper</command> wie in <xref linkend="install"/> oder durch " "Veränderung der Quellen der Originalautoren installieren, indem Sie eine " "neue <filename>Makefile</filename> mit dem Ziel <literal>install</literal> " "wie in <xref linkend="modify"/> hinzufügen." #. type: Content of: <book><chapter><section><para> msgid "" "There is another old Latin saying: <emphasis>fabricando fit faber</emphasis> " "(practice makes perfect). It is <emphasis>highly</emphasis> recommended to " "practice and experiment with all the steps of Debian packaging with simple " "packages while reading this tutorial. A trivial upstream tarball " "<filename>hello-sh-1.0.tar.gz</filename> created as followings may offer a " "good starting point.<placeholder type="footnote" id="0"/>" msgstr "" "Es gibt einen alten lateinischen Spruch: <emphasis>fabricando fit faber</" "emphasis> (Übung macht den Meister). Es wird <emphasis>nachdrücklich</" "emphasis> empfohlen, zu üben und mit allen Schritten der Debian-Paketierung " "mit einfachen Paketen zu spielen, während diese Anleitung gelesen wird. Ein " "trivialer Tarball der Originalautoren ist <filename>hello-sh-1.0.tar.gz</" "filename>, der einen guten Startpunkt darstellt. Er wird wie folgt erstellt:" "<placeholder type="footnote" id="0"/>" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ mkdir -p hello-sh/hello-sh-1.0; cd hello-sh/hello-sh-1.0n" "$ cat > hello <<EOFn" "#!/bin/shn" "# (C) 2011 Foo Bar, GPL2+n" "echo "Hello!"n" "EOFn" "$ chmod 755 hellon" "$ cd ..n" "$ tar -cvzf hello-sh-1.0.tar.gz hello-sh-1.0n" msgstr "" "$ mkdir -p hello-sh/hello-sh-1.0; cd hello-sh/hello-sh-1.0n" "$ cat > hello <<EOFn" "#!/bin/shn" "# (C) 2011 Foo Bar, GPL2+n" "echo "Hello!"n" "EOFn" "$ chmod 755 hellon" "$ cd ..n" "$ tar -cvzf hello-sh-1.0.tar.gz hello-sh-1.0n" #. type: Content of: <book><chapter><section><title> msgid "Get the program, and try it out" msgstr "Besorgen Sie sich das Programm und probieren Sie es aus" #. type: Content of: <book><chapter><section><para> msgid "" "So the first thing to do is to find and download the original source code. " "Presumably you already have the source file that you picked up at the " "author's homepage. Sources for free Unix programs usually come in " "<command>tar</command>+<command>gzip</command> format with the extension " "<filename>.tar.gz</filename>, <command>tar</command>+<command>bzip2</" "command> format with the extension <filename>.tar.bz2</filename>, or " "<command>tar</command>+<command>xz</command> format with the extension " "<filename>.tar.xz</filename>. These usually contain a directory called " "<filename><replaceable>package</replaceable>-<replaceable>version</" "replaceable></filename> with all the sources inside." msgstr "" "Als Erstes müssen 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 <command>tar</command>+<command>gzip</command> mit der Erweiterung " "<filename>.tar.gz</filename>, im Format <command>tar</command>" "+<command>bzip2</command> mit der Erweiterung <filename>.tar.bz2</filename> " "oder im Format <command>tar</command>+<command>xz</command> mit der " "Erweiterung <filename>.tar.xz</filename>.Sie enthalten üblicherweise ein " "Verzeichnis, das <filename><replaceable>Paket</replaceable>-" "<replaceable>Version</replaceable></filename> genannt ist, sowie alle " "Quellcode-Dateien darin." #. type: Content of: <book><chapter><section><para> msgid "" "If the latest version of the source is available through a VCS such as Git, " "Subversion, or CVS, you need to get it with <literal>git clone</literal>, " "<literal>svn co</literal>, or <literal>cvs co</literal> and repack it into " "<command>tar</command>+<command>gzip</command> format yourself by using the " "<literal>--exclude-vcs</literal> option." msgstr "" "Falls die neueste Version der Quellen über Versionskontrollsysteme wie Git, " "Subversion oder CVS verfügbar ist, müssen Sie sie mit »<literal>git clone</" "literal>«, »<literal>svn co</literal>« oder »<literal>csv co</literal>« " "herunterladen und dann selbst einen Tarball im Format <command>tar</command>" "+<command>gzip</command> erstellen, indem Sie die Option »<literal>--exclude-" "vcs</literal>« verwenden." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "You can identify the archive format using the <command>file</command> " "command when the file extension is not enough." msgstr "" "Sie können das Archivformat herausfinden, indem Sie den Befehl " "<command>file</command> verwenden, wenn die Dateierweiterung nicht genug ist." #. type: Content of: <book><chapter><section><para> msgid "" "If your program's source comes as some other sort of archive (for instance, " "the filename ends in <filename>.Z</filename> or <filename>.zip</" "filename><placeholder type="footnote" id="0"/>), you should also unpack " "it with the appropriate tools and repack it." msgstr "" "Kommt der Quellcode in einem anderen Archivtyp daher (beispielsweise wenn " "der Dateiname auf <filename>.Z</filename> oder <filename>.zip</filename> " "endet <placeholder type="footnote" id="0"/>), sollten Sie ihn auch mit " "den geeigneten Werkzeugen entpacken und neu einpacken." #. type: Content of: <book><chapter><section><para> msgid "" "If your program's source comes with some contents which do not comply with " "DFSG, you should also unpack it to remove such contents and repack it with a " "modified upstream version containing <literal>dfsg</literal>." msgstr "" "Falls die Quellen Ihres Programms Inhalten enthalten, die nicht den DFSG " "genügen, sollten Sie sich auch entpacken, um solche Inhalte zu entfernen, " "und mit einer geänderten Version der Originalautoren, die <literal>dfsg</" "literal> enhält, neu packen." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "This program is already packaged. The <ulink url="&gentoo-package;" "">current version</ulink> uses Autotools as its build structure and is " "substantially different from the following examples, which were based on " "version 0.9.12." msgstr "" "Das Programm ist bereits paketiert worden. Die <ulink url="&gentoo-package;" "">aktuelle Version</ulink> verwendet die Autotools als Baustruktur und " "unterscheidet sich signifikant von den folgenden Beispielen, die auf Version " "0.9.12 basieren." #. type: Content of: <book><chapter><section><para> msgid "" "As an example, I'll use a program called <command>gentoo</command>, a GTK+ " "file manager. <placeholder type="footnote" id="0"/>" msgstr "" "Als Beispiel verwende ich hier ein Programm namens <command>gentoo</" "command>, einen GTK+-Dateimanager. <placeholder type="footnote" id="0"/>" #. type: Content of: <book><chapter><section><para> msgid "" "Create a subdirectory under your home directory named <filename>debian</" "filename> or <filename>deb</filename> or anything you find appropriate (e." "g. just <filename>~/gentoo</filename> would do fine in this case). Place " "the downloaded archive in it, and extract it (with <literal>tar xzf " "gentoo-0.9.12.tar.gz</literal>). Make sure there are no warning messages, " "even <emphasis>irrelevant</emphasis> ones, because other people's unpacking " "tools may or may not ignore these anomalies, so they may have problems " "unpacking them. Your shell command line may look something like this:" msgstr "" "Erstellen Sie ein Unterverzeichnis in Ihrem Home-Verzeichnis namens " "<filename>debian</filename> oder <filename>deb</filename> oder irgendetwas, " "das Sie passend finden (beispielsweise wäre in diesem Fall nur <filename>~/" "gentoo</filename> völlig in Ordnung). Kopieren Sie das heruntergeladene " "Archiv dorthin und entpacken Sie es (mit »<literal>tar xzf gentoo-0.9.12.tar." "gz</literal>«). Vergewissern Sie sich, dass es keine Warnmeldungen beim " "Entpacken gab, nicht mal so genannte <emphasis>irrelevante</emphasis>, 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-Kommandozeile könnte dann wie folgt aussehen:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ mkdir ~/gentoo ; cd ~/gentoon" "$ wget http://<replaceable>www.example.org</replaceable>/gentoo-0.9.12.tar.gzn" "$ tar xvzf gentoo-0.9.12.tar.gzn" "$ ls -Fn" "gentoo-0.9.12/n" "gentoo-0.9.12.tar.gzn" msgstr "" "$ mkdir ~/gentoo ; cd ~/gentoon" "$ wget http://<replaceable>www.example.org</replaceable>/gentoo-0.9.12.tar.gzn" "$ tar xvzf gentoo-0.9.12.tar.gzn" "$ ls -Fn" "gentoo-0.9.12/n" "gentoo-0.9.12.tar.gzn" #. type: Content of: <book><chapter><section><para> msgid "" "Now you have another subdirectory, called <filename>gentoo-0.9.12</" "filename>. Change to that directory and <emphasis>thoroughly</emphasis> " "read the provided documentation. Usually there are files named " "<filename>README*</filename>, <filename>INSTALL*</filename>, <filename>*." "lsm</filename> or <filename>*.html</filename>. You must find instructions " "on how to compile and install the program (most probably they'll assume you " "want to install to the <filename>/usr/local/bin</filename> directory; you " "won't be doing that, but more on that later in <xref linkend="destdir"/>)." msgstr "" "Jetzt haben Sie ein neues Unterverzeichnis namens <filename>gentoo-0.9.12</" "filename>. Wechseln Sie dorthin und lesen Sie die mitgelieferte " "Dokumentation <emphasis>aufmerksam</emphasis> durch. Meistens gibt es " "Dateien mit den Namen <filename>README*</filename>, <filename>INSTALL*</" "filename>, <filename>*.lsm</filename> oder <filename>*.html</filename>. Sie " "müssen eine Anleitung finden, wie man das Programm kompiliert und " "installiert (meistens wird von einer Installation in das Verzeichnis " "<filename>/usr/local/bin</filename> ausgegangen, aber das werden Sie nicht " "machen. Mehr dazu später in <xref linkend="destdir"/>)." #. type: Content of: <book><chapter><section><para> msgid "" "You should start packaging with a completely clean (pristine) source " "directory, or simply with freshly unpacked sources." msgstr "" "Sie sollten das Paketieren mit einem komplett aufgeräumten (»pristine«, " "makellosen) Quellcode-Verzeichnis anfangen oder die Quellen einfach frisch " "entpacken." #. type: Content of: <book><chapter><section><title> msgid "Simple build systems" msgstr "Einfache Bausysteme" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Many modern programs come with a script <filename>configure</filename> which " "when executed creates a <filename>Makefile</filename> customized for your " "system." msgstr "" "Viele moderne Programme kommen mit einem Skript <filename>configure</" "filename>, das bei der Ausführung eine für Ihr System angepasste " "<filename>Makefile</filename> erstellt." #. type: Content of: <book><chapter><section><para> msgid "" "Simple programs usually come with a <filename>Makefile</filename> and can be " "compiled just by invoking <literal>make</literal>.<placeholder type=" ""footnote" id="0"/> Some of them support <literal>make check</literal>, " "which runs included self-tests. Installation to the destination directories " "is usually done with <literal>make install</literal>." msgstr "" "Einfache Programme enthalten normalerweise eine <filename>Makefile</" "filename>-Datei und können rein durch den Aufruf von »<literal>make</" "literal>« kompiliert werden. <placeholder type=" ""footnote" id="0"/> Einige von ihnen unterstützen »<literal>make " "check</literal>«, wodurch die mitgelieferten Selbsttests gestartet werden. " "Die Installation in das Zielverzeichnis wird üblicherweise mittels " "»<literal>make install</literal>« durchgeführt." #. type: Content of: <book><chapter><section><para> msgid "" "Now try to compile and run your program, to make sure it works properly and " "doesn't break something else while it's installing or running." msgstr "" "Versuchen Sie nun, das Programm zu kompilieren und auszuführen. Stellen Sie " "sicher, dass es einwandfrei funktioniert und nichts anderes während der " "Installation oder der Ausführung kaputt macht." #. type: Content of: <book><chapter><section><para> msgid "" "Also, you can usually run <literal>make clean</literal> (or better " "<literal>make distclean</literal>) to clean up the build directory. " "Sometimes there's even a <literal>make uninstall</literal> which can be used " "to remove all the installed files." msgstr "" "Meistens können Sie außerdem »<literal>make clean</literal>« (oder besser " "»<literal>make distclean</literal>«) ausführen, um im Build-Verzeichnis " "aufzuräumen. Manchmal gibt es sogar ein »<literal>make uninstall</literal>«, " "womit alle installierten Dateien gelöscht werden können." #. type: Content of: <book><chapter><section><title> msgid "Popular portable build systems" msgstr "Beliebte portable Bau-Systeme" #. type: Content of: <book><chapter><section><para> msgid "" "A lot of free software programs are written in the <ulink url="&c-program;" "">C</ulink> and <ulink url="&cxx;">C++</ulink> languages. Many of these " "use Autotools or CMake to make them portable across different platforms. " "These build tools need to be used to generate the <filename>Makefile</" "filename> and other required source files first. Then, such programs are " "built using the usual <literal>make; make install</literal>." msgstr "" "Viele freie Software-Programme sind in den Sprachen <ulink url="http://de." "wikipedia.org/wiki/C_(Programmiersprache)">C</ulink> oder <ulink url=" ""http://de.wikipedia.org/wiki/C++">C++</ulink> geschrieben. Die meisten " "von ihnen verwenden Autotools oder CMake, um auf verschiedene Plattformen " "portierbar zu sein. Diese Bauwerkzeuge müssen zuerst benutzt werden, um die " "<filename>Makefile</filename> und andere benötigte Quelldateien zu erzeugen. " "Anschließend werden solche Programme mit dem üblichen »<literal>make; make " "install</literal>« gebaut." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Autotools is too big to deal in this small tutorial. This section is meant " "to provide keywords and references only. Please make sure to read the " "<ulink url="&autotools-tutorial;">Autotools Tutorial</ulink> and the local " "copy of <filename>&autotools-readme;</filename>, if you need to use it." msgstr "" "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 " "<ulink url="&autotools-tutorial;">Autotools Tutorial</ulink> und die " "lokale Kopie der <filename>&autotools-readme;</filename> lesen." #. type: Content of: <book><chapter><section><para> msgid "" "<ulink url="&gnu-build-system;">Autotools</ulink> is the GNU build system " "comprising <ulink url="&autoconf;">Autoconf</ulink>, <ulink url=" ""&automake;">Automake</ulink>, <ulink url="&libtool;">Libtool</ulink>, " "and <ulink url="&gettext;">gettext</ulink>. You can recognize such " "sources by the <filename>configure.ac</filename>, <filename>Makefile.am</" "filename>, and <filename>Makefile.in</filename> files. <placeholder type=" ""footnote" id="0"/>" msgstr "" "<ulink url="http://de.wikipedia.org/wiki/GNU_Build_System">Autotools</" "ulink> ist das GNU-Buildsystem, das aus <ulink url="&autoconf;">Autoconf</" "ulink>, <ulink url="&automake;">Automake</ulink>, <ulink url="&libtool;" "">Libtool</ulink> und <ulink url="http://de.wikipedia.org/wiki/GNU_gettext" "">gettext</ulink> besteht. Sie erkennen solche Quellen an den Dateien " "<filename>configure.ac</filename>, <filename>Makefile.am</filename> und " "<filename>Makefile.in</filename>. <placeholder type="footnote" id="0"/>" #. type: Content of: <book><chapter><section><para> msgid "" "The first step of the Autotools workflow is usually that upstream runs " "<literal>autoreconf -i -f</literal> in the source directory and distributes " "the generated files along with the source." msgstr "" "Der erste Schritt im Arbeitsablauf der Autotools ist üblicherweise, dass der " "ursprüngliche Autor »<literal>autoreconf -i -f</literal>« im " "Quellenverzeichnis aufruft und die Quellen dann mit den erzeugten Dateien " "verteilt." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "configure.ac-----+-> autoreconf -+-> configuren" "Makefile.am -----+ | +-> Makefile.inn" "src/Makefile.am -+ | +-> src/Makefile.inn" " | +-> config.h.inn" " automaken" " aclocaln" " aclocal.m4n" " autoheadern" msgstr "" "configure.ac-----+-> autoreconf -+-> configuren" "Makefile.am -----+ | +-> Makefile.inn" "src/Makefile.am -+ | +-> src/Makefile.inn" " | +-> config.h.inn" " automaken" " aclocaln" " aclocal.m4n" " autoheadern" #. type: Content of: <book><chapter><section><para> msgid "" "Editing <filename>configure.ac</filename> and <filename>Makefile.am</" "filename> files requires some knowledge of <command>autoconf</command> and " "<command>automake</command>. See <literal>info autoconf</literal> and " "<literal>info automake</literal>." msgstr "" "Das Bearbeiten der Dateien <filename>configure.ac</filename> und " "<filename>Makefile.am</filename> erfordert etwas Wissen über " "<command>autoconf</command> und <command>automake</command>. Siehe " "»<literal>info autoconf</literal>« und »<literal>info automake</literal>«." #. type: Content of: <book><chapter><section><para> msgid "" "The second step of the Autotools workflow is usually that the user obtains " "this distributed source and runs <literal>./configure && make</" "literal> in the source directory to compile the program into an executable " "command <command><replaceable>binary</replaceable></command>." msgstr "" "Der zweite Schritt im Arbeitsablauf der Autotools ist üblicherweise, dass " "der Benutzer diese verteilten Quellen erhält und »<literal>./configure &" "& make</literal>« in den Quellen aufruft, um das Programm zu einem " "ausführbaren <command><replaceable>Binärdatei</replaceable></command>-Befehl " "zu kompilieren." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "Makefile.in -----+ +-> Makefile -----+-> make -> <replaceable>binary</replaceable>n" "src/Makefile.in -+-> ./configure -+-> src/Makefile -+n" "config.h.in -----+ +-> config.h -----+n" " |n" " config.status -+n" " config.guess --+n" msgstr "" "Makefile.in -----+ +-> Makefile -----+-> make -> <replaceable>binary</replaceable>n" "src/Makefile.in -+-> ./configure -+-> src/Makefile -+n" "config.h.in -----+ +-> config.h -----+n" " |n" " config.status -+n" " config.guess --+n" #. type: Content of: <book><chapter><section><para> msgid "" "You can change many things in the <filename>Makefile</filename>; for " "instance you can change the default location for file installation using the " "option <literal>./configure --prefix=/usr</literal>." msgstr "" "Sie können in der Datei <filename>Makefile</filename> viele Dinge ändern, " "beispielsweise können Sie den voreingestellten Installationsort für Dateien " "ändern, idem Sie die Befehlszeilenoption »<command>./configure --prefix=/" "usr</command>« benutzen." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "You can automate this by using <systemitem role="package">dh-autoreconf</" "systemitem> package. See <xref linkend="customrules"/>." msgstr "" "Sie können dies automatisieren, indem Sie das Paket <systemitem role=" ""package">dh-autoreconf</systemitem> installieren. Lesen Sie <xref linkend=" ""customrules"/>." #. type: Content of: <book><chapter><section><para> msgid "" "Although it is not required, updating the <filename>configure</filename> and " "other files with <literal>autoreconf -i -f</literal> may improve the " "compatibility of the source. <placeholder type="footnote" id="0"/>" msgstr "" "Obwohl es nicht erforderlich ist, kann die Aktualisierung der Datei " "<filename>configure</filename> und anderer Dateien mittels " "»<literal>autoreconf -i -f</literal>« die Kompatibilität der Quellen " "verbessern. <placeholder type="footnote" id="0"/>" #. type: Content of: <book><chapter><section><para> msgid "" "<ulink url="&cmake;">CMake</ulink> is an alternative build system. You " "can recognize such sources by the <filename>CMakeLists.txt</filename> file." msgstr "" "<ulink url="http://de.wikipedia.org/wiki/CMake">CMake</ulink> ist ein " "alternatives Build-System. Sie erkennen solche Quellen an der Datei " "<filename>CMakeLists.txt</filename>." #. type: Content of: <book><chapter><section><title> msgid "Package name and version" msgstr "Name und Version des Pakets" #. type: Content of: <book><chapter><section><para> msgid "" "If the upstream source comes as <filename>gentoo-0.9.12.tar.gz</filename>, " "you can take <literal>gentoo</literal> as the (source) <emphasis role=" ""strong">package name</emphasis> and <literal>0.9.12</literal> as the " "<emphasis role="strong">upstream version</emphasis>. These are used in " "the <filename>debian/changelog</filename> file described later in <xref " "linkend="changelog"/>, too." msgstr "" "Falls die Quellen der Originalautoren als <filename>gentoo-0.9.12.tar.gz</" "filename> existieren, können Sie <literal>gentoo</literal> als (Quell-)" "<emphasis role="strong">Paketnamen</emphasis> und <literal>0.9.12</" "literal> als die <emphasis role="strong">Versionsnummer der " "Originalautoren</emphasis> verwenden. Dieser werden in der Datei " "<filename>debian/changelog</filename> verwandt, die auch später in <xref " "linkend="changelog"/> beschrieben wird." #. type: Content of: <book><chapter><section><para> msgid "" "Although this simple approach works most of the times, you may need to " "adjust <emphasis role="strong">package name</emphasis> and <emphasis role=" ""strong">upstream version</emphasis> by renaming the upstream source to " "follow Debian Policy and existing convention." msgstr "" "Obwohl dieser einfache Ansatz meistens funktioniert, könnte es sein, dass " "Sie den <emphasis role="strong">Paketnamen</emphasis> und die <emphasis " "role="strong">Versionsnummer der Originalautoren</emphasis> durch " "Umbenennen der Originalquellen anpassen müssen, damit dies den Debian-" "Richtlinien und bestehenden Konventionen genügen." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The default package name field length of <command>aptitude</command> is 30. " "For more than 90% of packages, the package name is less than 24 characters." msgstr "" "Die Standardpaketnamenfeldlänge von <command>aptitude</command> beträgt 30. " "Für mehr als 90% der Pakete ist die Länge des Namens weniger als 24 Zeichen." #. type: Content of: <book><chapter><section><para> msgid "" "You must choose the <emphasis role="strong">package name</emphasis> to " "consist only of lower case letters (<literal>a-z</literal>), digits " "(<literal>0-9</literal>), plus (<literal>+</literal>) and minus (<literal>-</" "literal>) signs, and periods (<literal>.</literal>). It must be at least two " "characters long, must start with an alphanumeric character, and must not be " "the same as existing ones. It is a good idea to keep its length within 30 " "characters. <placeholder type="footnote" id="0"/>" msgstr "" "Sie müssen den <emphasis role="strong">Paketnamen</emphasis> so wählen, " "dass er nur aus Kleinbuchstaben (<literal>a-z</literal>), Ziffern " "(<literal>0-9</literal>), Plus- (<literal>+</literal>) und Minus- (<literal>-" "</literal>) Zeichen und Punkten (<literal>.</literal>) 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. <placeholder type="footnote" " "id="0"/>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If you follow the <ulink url="&devref-newpackage;">Debian Developer's " "Reference 5.1. "New packages"</ulink>, the ITP process will usually catch " "this kind of issues." msgstr "" "Falls Sie <ulink url="&devref-newpackage;">Debian Developer's Reference " "5.1. "New packages"</ulink> folgen, wird der ITP-Prozess normalerweise " "solche Dinge abfangen." #. type: Content of: <book><chapter><section><para> msgid "" "If upstream uses some generic term such as <literal>test-suite</literal> for " "its name, it is a good idea to rename it to identify its contents explicitly " "and avoid namespace pollution. <placeholder type="footnote" id="0"/>" msgstr "" "Falls die Originalautoren einen generischen Ausdruck wie <literal>test-" "suite</literal> für den Namen verwenden, ist es eine gute Idee, es " "umzubenennen, um den Inhalt explizit zu identifizieren und den Namensraum " "sauber zu halten. <placeholder type="footnote" id="0"/>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "This stricter rule should help you avoid confusing file names." msgstr "" "Diese strengere Regel sollte Ihnen helfen, verwirrende Namen zu vermeiden." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The default version field length of <command>aptitude</command> is 10. The " "Debian revision with preceding hyphen usually consumes 2. For more than 80% " "of packages, the upstream version is less than 8 characters and the Debian " "revision is less than 2 characters. For more than 90% of packages, the " "upstream version is less than 10 characters and the Debian revision is less " "than 3 characters." msgstr "" "Die Standardversionsfeldlänge von <command>aptitude</command> 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." #. type: Content of: <book><chapter><section><para> msgid "" "You should choose the <emphasis role="strong">upstream version</emphasis> " "to consist only of alphanumerics (<literal>0-9A-Za-z</literal>), plus " "(<literal>+</literal>), tildes (<literal>~</literal>), and periods " "(<literal>.</literal>). It must start with a digit (<literal>0-9</" "literal>). <placeholder type="footnote" id="0"/> It is good idea to " "keep its length within 8 characters if possible. <placeholder type=" ""footnote" id="1"/>" msgstr "" "Sie sollten die <emphasis role="strong">Versionsnummer der " "Originalautoren</emphasis> so wählen, dass sie nur aus alphanumerischen " "Zeichen (<literal>0-9A-Za-z</literal>), Pluszeichen (<literal>+</literal>), " "Tilden (<literal>~</literal>) und Satzpunkten (<literal>.</literal>) " "besteht. Sie muss mit einer Ziffer (<literal>0-9</literal>) beginnen. " "<placeholder type="footnote" id="0"/> Es ist eine gute Idee, die Länger " "falls möglich innerhalb von 8 Zeichen zu halten. <placeholder type="footnote" "" id="1"/>" #. type: Content of: <book><chapter><section><para> msgid "" "If upstream does not use a normal versioning scheme such as " "<literal>2.30.32</literal> but uses some kind of date such as " "<literal>11Apr29</literal>, a random codename string, or a VCS hash value as " "part of the version, make sure to remove them from the <emphasis role=" ""strong">upstream version</emphasis>. Such information can be recorded in " "the <filename>debian/changelog</filename> file. If you need to invent a " "version string, use the <literal>YYYYMMDD</literal> format such as " "<literal>20110429</literal> as upstream version. This ensures that " "<command>dpkg</command> interprets later versions correctly as upgrades. If " "you need to ensure smooth transition to the normal version scheme such as " "<literal>0.1</literal> in future, use the <literal>0~YYMMDD</literal> format " "such as <literal>0~110429</literal> as upstream version, instead." msgstr "" "Falls die Originalautoren kein normales Versionierungsschema wie " "<literal>2.30.32</literal> sondern eine Art von Datum wie <literal>11Apr29</" "literal>, einen zufälligen Kodenamen oder einen VCS-Hashwert als Teil der " "Version verwenden, stellen Sie sicher, dass sie das von der <emphasis role=" ""strong">Version der Originalautoren</emphasis> entfernen. Diese " "Informationen können in der Datei <filename>debian/changelog</filename> " "festgehalten werden. Falls Sie eine Versionsnummer erfinden müssen, " "vewrenden Sie das Format <literal>YYYYMMDD</literal>, wie <literal>20110429</" "literal>, als Versionsnummer der Originalautoren. Das stellt sicher, dass " "<command>dpkg</command> neuere Versionen korrekt als Upgrades interpretiert. " "Falls Sie in der Zukunft reibungslose Übergänge zu dem normalen " "Versionsschemata wie <literal>0.1</literal> sicherstellen müssen, verwenden " "Sie das stattdessen das Format <literal>0~YYMMDD</literal>, wie " "<literal>0~110429</literal>, als Versionsnummer der Originalautoren." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Version strings may be <emphasis role="strong">upstream version</emphasis> " "(<literal><replaceable>version</replaceable></literal>), <emphasis role=" ""strong">Debian revision</emphasis> (<literal><replaceable>revision</" "replaceable></literal>), or <emphasis role="strong">version</emphasis> " "(<literal><replaceable>version</replaceable>-<replaceable>revision</" "replaceable></literal>). See <xref linkend="newrevision"/> for how the " "<emphasis role="strong">Debian revision</emphasis> is incremented." msgstr "" "Versionsnummern können die <emphasis role="strong">Versionsnummer der " "Originalautoren</emphasis> (<literal><replaceable>Version</replaceable></" "literal>), die <emphasis role="strong">Debian-Revision</emphasis> " "(<literal><replaceable>Revision</replaceable></literal>) oder die <emphasis " "role="strong">Version</emphasis> (<literal><replaceable>Version</" "replaceable>-<replaceable>Revision</replaceable></literal>) sein. Lesen Sie " "<xref linkend="newrevision"/>, um zu erfahren, wie die <emphasis role=" ""strong">Debian-Revision</emphasis> erhöht wird." #. type: Content of: <book><chapter><section><para> msgid "" "Version strings <placeholder type="footnote" id="0"/> can be compared " "using <citerefentry> <refentrytitle>dpkg</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> as follows." msgstr "" "Versionsnummern <placeholder type="footnote" id="0"/> können mit " "<citerefentry> <refentrytitle>dpkg</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry> wie folgt verglichen werden:" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url="&policy-source;">5.6.1 "Source"</ulink>, <ulink url=" ""&policy-package;">5.6.7 "Package"</ulink>, and <ulink url="&policy-" "version;">5.6.12 "Version"</ulink>. The <emphasis role="strong" "">package architecture</emphasis> follows the <ulink url="&policy-" "architecture;">Debian Policy Manual, 5.6.8 "Architecture"</ulink> and is " "automatically assigned by the package build process." msgstr "" "Lesen Sie <ulink url="&policy-source;">5.6.1 "Source"</ulink>, <ulink " "url="&policy-package;">5.6.7 "Package"</ulink> und <ulink url="&policy-" "version;">5.6.12 "Version"</ulink>. Die <emphasis role="strong" "">Paketarchitektur</emphasis> folgt dem <ulink url="&policy-architecture;" "">Debian Policy Manual, 5.6.8 "Architecture"</ulink> und wird während des " "Paketbauprozesses automatisch zugewiesen." #. type: Content of: <book><chapter><section><para> msgid "" "In the file names above, replace the <literal><replaceable>package</" "replaceable></literal> part with the <emphasis role="strong">package name</" "emphasis>, the <literal><replaceable>version</replaceable></literal> part " "with the <emphasis role="strong">upstream version</emphasis>, the " "<literal><replaceable>revision</replaceable></literal> part with the " "<emphasis role="strong">Debian revision</emphasis>, and the " "<literal><replaceable>arch</replaceable></literal> part with the <emphasis " "role="strong">package architecture</emphasis>, as defined in the Debian " "Policy Manual. <placeholder type="footnote" id="0"/>" msgstr "" "Im obigen Dateinamen wird der <literal><replaceable>Paket</replaceable></" "literal>-Teil mit dem <emphasis role="strong">Paketnamen</emphasis>, der " "<literal><replaceable>Version</replaceable></literal>-Teil mit der <emphasis " "role="strong">Version der Originalautoren</emphasis>, der " "<literal><replaceable>Revision</replaceable></literal>-Teil mit der " "<emphasis role="strong">Debian-Revision</emphasis> und der " "<literal><replaceable>arch</replaceable></literal>-Teil mit der <emphasis " "role="strong">Paketarchitektur</emphasis>, wie dies in dem »Debian Policy " "Manual« festgelegt ist, ersetzt. <placeholder type="footnote" id="0"/>" #. type: Content of: <book><chapter><section><para> msgid "" "If instead you are making a Debian-specific package with no upstream, the " "typical workflow of Debian package building is simpler." msgstr "" "Falls Sie stattdessen ein Debian-spezifisches Paket ohne (andere) " "Originalautoren erstellen, ist der typische Arbeitsablauf bei der " "Paketerstellung einfacher." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Create a native Debian source package in the <literal>3.0 (native)</literal> " "format using a single compressed tar file in which all files are included." msgstr "" "Erstellen Sie ein natives Debian-Quellpaket im Format <literal>3.0 (native)</" "literal> mit einer einzelnen komprimierten Tar-Datei, in der allen Dateien " "enthalten sind." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>.tar.gz" msgstr "" "<replaceable>Paket</replaceable>_<replaceable>Version</replaceable>.tar.gz" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>.dsc" msgstr "" "<replaceable>Paket</replaceable>_<replaceable>Version</replaceable>.dsc" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Build Debian binary packages from the native Debian source package." msgstr "Bauen Sie Debian-Binärpakete aus den nativen Debian-Quellpaketen." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</" "replaceable>_<replaceable>arch</replaceable>.deb" msgstr "" "<replaceable>Paket</replaceable>_<replaceable>Version</" "replaceable>_<replaceable>Arch</replaceable>.deb" #. type: Content of: <book><chapter><section><para> msgid "" "Each step of this outline is explained with detailed examples in later " "sections." msgstr "" "Jeder Schritt dieser Übersicht wird in späteren Abschnitten mit in " "detaillierten Beispielen erklärt." #. type: Content of: <book><chapter><section><title> msgid "Choose your program" msgstr "Ihr Programm auswählen" #. type: Content of: <book><chapter><section><para> msgid "" "You have probably chosen the package you want to create. The first thing " "you need to do is check if the package is in the distribution archive " "already by using the following." msgstr "" "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." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "the <command>aptitude</command> command" msgstr "den Befehl <command>aptitude</command>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "the <ulink url="&packages-do;">Debian packages</ulink> web page" msgstr "die Webseite <ulink url="&packages-do;">Debian-Pakete</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "the <ulink url="&packages-qa-do;">Debian Package Tracking System</ulink> " "web page" msgstr "" "die Webseite <ulink url="&packages-qa-do;">Debian Package Tracking System</" "ulink>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url="&devref-adopt;">Debian Developer's Reference 5.9.5. " ""Adopting a package"</ulink>." msgstr "" "Lesen Sie die <ulink url="&devref-adopt;">Debian Developer's Reference " "5.9.5. "Adopting a package"</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "If the package already exists, well, install it! :-) If it happens to be " "<emphasis role="strong">orphaned</emphasis> (that is, if its maintainer is " "set to <ulink url="&qa-do;">Debian QA Group</ulink>), you may be able to " "pick it up if it's still available. You may also adopt a package whose " "maintainer has filed a Request for Adoption (<emphasis role="strong">RFA</" "emphasis>).<placeholder type="footnote" id="0"/>" msgstr "" "Wenn es das Paket schon gibt, na, dann installieren Sie es! :-) Falls es " "<emphasis role="strong">aufgegeben (»orphaned«)</emphasis> wurde (wenn als " "Betreuer »<ulink url="&qa-do;">Debian QA Group</ulink>« 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« (<emphasis role="strong">RFA</emphasis>) geschrieben hat. " "<placeholder type="footnote" id="0"/>" #. type: Content of: <book><chapter><section><para> msgid "There are several package ownership status resources." msgstr "Es gibt mehrere Ressourcen zur Paketeigentümerschaft" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url="&wnpp-do;">Work-Needing and Prospective Packages</ulink>" msgstr "" "<ulink url="&wnpp-do;">Arbeit-bedürfende und voraussichtliche Pakete</" "ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url="&wnpp-bts;">Debian Bug report logs: Bugs in pseudo-package " "<systemitem role="package">wnpp</systemitem> in <literal>unstable</" "literal></ulink>" msgstr "" "<ulink url="&wnpp-bts;">Debian-Fehlerdatenbank-Protokolle: Fehler im " "Pseudo-Paket <systemitem role="package">wnpp</systemitem> in " "<literal>unstable</literal></ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url="&wnpp-dn;">Debian Packages that Need Lovin'</ulink>" msgstr "" "<ulink url="&wnpp-dn;">Debian-Pakete, die Aufmerksamkeit benötigen</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url="&wnpp-debtags;">Browse <systemitem role="package">wnpp</" "systemitem> bugs based on debtags</ulink>" msgstr "" "<ulink url="&wnpp-debtags;">Durchsuchen Sie basierend auf Debtags die " "<systemitem role="package">wnpp</systemitem>-Fehler</ulink>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Having said that, there will of course always be new programs that are worth " "packaging." msgstr "" "Trotzdem gibt es natürlich immer neue Programme, die es wert sind, für " "Debian paketiert zu werden." #. type: Content of: <book><chapter><section><para> msgid "" "As a side note, it's important to point out that Debian already has packages " "for most kinds of programs, and the number of packages already in the Debian " "archive is much larger than that of contributors with upload rights. Thus, " "contributions to packages already in the archive are far more appreciated " "(and more likely to receive sponsorship) by other developers <placeholder " "type="footnote" id="0"/>. You can contribute in various ways." msgstr "" "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 werden Beiträge zu Paketen, die bereits im " "Archiv enthalten sind, von anderen Entwicklern wesentlich mehr gewürdigt " "(und haben bessere Chancen, gesponsert zu werden) <placeholder type=" ""footnote" id="0"/>. Sie können auf verschiedene Arten beitragen." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "taking over orphaned, yet actively used, packages" msgstr "Pakete übernehmen, die aufgegeben wurden, aber aktiv benutzt werden" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "joining <ulink url="&teams;">packaging teams</ulink>" msgstr "" "Mitglied in einem <ulink url="&teams;">Paketierungs-Team</ulink> werden" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "triaging bugs of very popular packages" msgstr "Fehler von sehr beliebten Paketen sortieren und bewerten" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "preparing <ulink url="&devref-nmu;">QA or NMU uploads</ulink>" msgstr "" "Vorbereiten von <ulink url="&devref-nmu;">QA- oder NMU-Uploads</ulink>" #. type: Content of: <book><chapter><section><para> msgid "" "If you are able to adopt the package, get the sources (with something like " "<literal>apt-get source <replaceable>packagename</replaceable></literal>) " "and examine them. This document unfortunately doesn't include comprehensive " "information about adopting packages. Thankfully you shouldn't have a hard " "time figuring out how the package works since someone has already done the " "initial setup for you. Keep reading, though; a lot of the advice below will " "still be applicable for your case." msgstr "" "Wenn Sie ein Paket übernehmen möchten, laden Sie sich das Quell-Paket " "herunter (z. B. mit »<literal>apt-get source <replaceable>Paketname</" "replaceable></literal>«) 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." #. type: Content of: <book><chapter><section><para> msgid "" "If the package is new, and you decide you'd like to see it in Debian, " "proceed as follows:" msgstr "" "Falls das Paket neu ist und Sie es gern in Debian integrieren möchten, gehen " "Sie wie folgt vor:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "First, you must know that the program works, and have tried it for some time " "to confirm its usefulness." msgstr "" "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." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "You must check that no one else is already working on the package on the " "<ulink url="&wnpp-do;">Work-Needing and Prospective Packages</ulink> " "site. If no one else is working on it, file an ITP (Intent To Package) bug " "report to the <systemitem role="package">wnpp</systemitem> pseudo-package " "using <command>reportbug</command>. If someone's already on it, contact " "them if you feel you need to. If not - find another interesting program " "that nobody is maintaining." msgstr "" "Überprüfen Sie auf der Site »<ulink url="&wnpp-do;">Arbeit-" "bedürfende und voraussichtliche Pakete</ulink>«, dass niemand bereits an " "diesem Paket arbeitet. Falls noch niemand daran arbeitet, schreiben Sie mit " "<command>reportbug</command> einen ITP-Fehlerbericht (»Intent To Package«; " "Absicht, das Paket zu erstellen) an das <systemitem role="package">wnpp</" "systemitem>-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." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "The software <emphasis role="strong">must have a license</emphasis>." msgstr "" "Die Software <emphasis role="strong">muss eine Lizenz haben</emphasis>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "For the <literal>main</literal> section, Debian Policy requires it <emphasis " "role="strong">to be fully compliant with the Debian Free Software " "Guidelines</emphasis> (<ulink url="&dfsg;">DFSG</ulink>) and <emphasis " "role="strong">not to require a package outside of <literal>main</literal></" "emphasis> for compilation or execution. This is the desired case." msgstr "" "Für den Bereich <literal>main</literal> verlangen die Debian-Richtlinien, " "dass es <emphasis role="strong">die Debian-Richtlinien für Freie Software " "komplett erfüllt</emphasis> (<ulink url="&dfsg;">DFSG</ulink>) und " "<emphasis>kein Paket außerhalb von <literal>main</literal> benötigt</" "emphasis>, um zu kompilieren oder ausgeführt zu werden. Dies ist der " "erwünschte Fall." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "For the <literal>contrib</literal> section, it must comply with the DFSG but " "it may require a package outside of <literal>main</literal> for compilation " "or execution." msgstr "" "Für den Bereich <literal>contrib</literal> muss es zu den DFSG konform sein, " "darf aber ein Paket außerhalb von <literal>main</literal> für die " "Kompilierung oder Ausführung erfordern." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "For the <literal>non-free</literal> section, it may be non-compliant with " "the DFSG but it <emphasis role="strong">must be distributable</emphasis>." msgstr "" "Für den Bereich <literal>non-free</literal> darf es gegen Punkte der DFSG " "verstoßen, es <emphasis role="strong">muss aber verteilbar sein</emphasis>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "If you are unsure about where it should go, post the license text on <ulink " "url="&debian-legal-ldo;">debian-legal@lists.debian.org</ulink> and ask for " "advice." msgstr "" "Sind Sie nicht sicher, wohin das Paket gehört, schicken Sie den Lizenztext " "an <ulink url="&debian-legal-ldo;">debian-legal@lists.debian.org</ulink> " "und bitten um Rat." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The program should <emphasis role="strong">not</emphasis> introduce " "security and maintenance concerns to the Debian system." msgstr "" "Das Programm sollte <emphasis role="strong">keine</emphasis> " "Sicherheitsprobleme und Betreuungssorgen zum Debian-System hinzufügen." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "The program should be well documented and its code needs to be " "understandable (i.e. not obfuscated)." msgstr "" "Das Programm sollte gut dokumentiert und der Quellcode verständlich (d.h. " "nicht verschleiert) sein." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "You should contact the program's author(s) to check if they agree with " "packaging it and are amicable to Debian. It is important to be able to " "consult with the author(s) in case of any problems with the program, so " "don't try to package unmaintained software." msgstr "" "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 man die Autoren auch später im Fall " "von Problemen über das Programm befragen kann. Versuchen Sie also nicht, " "aufgegebene Programme zu paketieren." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "The program certainly should <emphasis role="strong">not</emphasis> run " "setuid root, or even better, it shouldn't need to be setuid or setgid to " "anything." msgstr "" "Das Programm sollte sicherlich <emphasis role="strong">nicht</emphasis> " "als »setuid root« laufen, oder noch besser, es sollte für die Ausführung " "überhaupt keine setuid- oder setgid-Rechte brauchen." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "The program should not be a daemon, or go in an <filename>*/sbin</filename> " "directory, or open a port as root." msgstr "" "Das Programm sollte kein Daemon sein oder in die Verzeichnisse <filename>*/" "sbin</filename> installiert werden und auch keinen Port als Root öffnen." #. type: Content of: <book><chapter><section><para> msgid "" "Of course, the last one is just a safety measures, and intended to save you " "from enraging users if you do something wrong in some setuid daemon... When " "you gain more experience in packaging, you'll be able to package such " "software." msgstr "" "Natürlich ist der zuletzt aufgeführt Punkte eher eine Sicherheitsmaßnahmen " "und sollen 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." #. type: Content of: <book><chapter><section><para> msgid "" "As a new maintainer, you are encouraged to get some experience in packaging " "with easier packages and discouraged from creating complicated packages." msgstr "" "Als neuer Betreuer wird Ihnen empfohlen, Erfahrung im Paketieren einfacher " "Pakete zu sammeln und Ihnen abgeraten, komplizierte Pakete zu erstellen." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Simple packages" msgstr "Einfache Pakete" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "single binary package, arch = all (collection of data such as wallpaper " "graphics)" msgstr "" "einfaches Binärpaket, arch=all (Sammlung von Daten, wie " "Hintergrundgraphiken) " #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "single binary package, arch = all (executables written in an interpreted " "language such as POSIX shell)" msgstr "" "einfaches Binärpaket, arch=all (in interpretierten Sprachen wie POSIX-Shell " "geschriebene Programme)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Intermediate complexity packages" msgstr "Mittel-komplexe Pakete" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "single binary package, arch = any (ELF binary executables compiled from " "languages such as C and C++)" msgstr "" "einfaches Binärpaket, arch=any (ELF-Binärprogramme, kompiliert aus Sprachen " "wie C und C++)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "multiple binary packages, arch = any + all (packages for ELF binary " "executables + documentation)" msgstr "" "mehrere Binärpakete, arch=any+all (Pakete für ELF-Binärprogramme + " "Dokumentation)" # FIXME: xz auch i.O. #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "upstream source in a format other than <filename>tar.gz</filename> or " "<filename>tar.bz2</filename>" msgstr "" "Quellen der Originalautoren ist weder im Format <filename>tar.gz</filename> " "noch im Format <filename>tar.bz2</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "upstream source containing undistributable contents" msgstr "" "die Quellen der Originalautoren enthalten Inhalte, die nicht verteilt werden " "dürfen" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "High complexity packages" msgstr "Hochkomplexe Pakete" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "interpreter module package used by other packages" msgstr "Interpretermodulpakete, die von anderen Paketen verwandt werden" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "generic ELF library package used by other packages" msgstr "" "generische ELF-Bibliothekspakete, die von anderen Paketen verwandt werden" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "multiple binary packages including an ELF library package" msgstr "mehrere Binärpakete, darunter ein ELF-Bibliothekspaket" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "source package with multiple upstream sources" msgstr "Quellpakete mit mehreren Quellen von Originalautoren" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "kernel module packages" msgstr "Kernelmodul-Pakete" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "kernel patch packages" msgstr "Kernel-Patch-Pakete" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "any package with non-trivial maintainer scripts" msgstr "jedes Paket mit nicht trivialen Betreuerskripten" #. type: Content of: <book><chapter><section><para> msgid "" "Packaging high complexity packages is not too hard, but it requires a bit " "more knowledge. You should seek specific guidance for every complex feature. " "For example, some languages have their own sub-policy documents:" msgstr "" "Paketieren von hochkomplexen Paketen ist nicht zu schwer, erfordert aber ein " "bisschen mehr Wissen. Sie sollten spezielle Hilfestellungen für jede komplexe " "Funktionalität erbitten. Beispielsweise haben einige Sprachen ihre eigenen " "Unterrichtlinien-Dokumente:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url="&policy-perl;">Perl policy</ulink>" msgstr "<ulink url="&policy-perl;">Perl-Richtlinien</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url="&policy-python;">Python policy</ulink>" msgstr "<ulink url="&policy-python;">Python-Richtlinien</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url="&policy-java;">Java policy</ulink>" msgstr "<ulink url="&policy-java;">Java-Richtlinien</ulink>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Do not worry about the missing <filename>Makefile</filename>. You can " "install the <command>hello</command> command by simply using " "<command>debhelper</command> as in <xref linkend="install"/>, or by " "modifying the upstream source to add a new <filename>Makefile</filename> " "with the <literal>install</literal> target as in <xref linkend="modify"/>." msgstr "" "Machen Sie sich keine Sorge um die fehlende <filename>Makefile</filename>. " "Sie können den Befehl <command>hello</command> einfach mittels " "<command>debhelper</command> wie in <xref linkend="install"/> oder durch " "Veränderung der Quellen der Originalautoren installieren, indem Sie eine " "neue <filename>Makefile</filename> mit dem Ziel <literal>install</literal> " "wie in <xref linkend="modify"/> hinzufügen." #. type: Content of: <book><chapter><section><para> msgid "" "There is another old Latin saying: <emphasis>fabricando fit faber</emphasis> " "(practice makes perfect). It is <emphasis>highly</emphasis> recommended to " "practice and experiment with all the steps of Debian packaging with simple " "packages while reading this tutorial. A trivial upstream tarball " "<filename>hello-sh-1.0.tar.gz</filename> created as followings may offer a " "good starting point.<placeholder type="footnote" id="0"/>" msgstr "" "Es gibt einen alten lateinischen Spruch: <emphasis>fabricando fit faber</" "emphasis> (Übung macht den Meister). Es wird <emphasis>nachdrücklich</" "emphasis> empfohlen, zu üben und mit allen Schritten der Debian-Paketierung " "mit einfachen Paketen zu spielen, während diese Anleitung gelesen wird. Ein " "trivialer Tarball der Originalautoren ist <filename>hello-sh-1.0.tar.gz</" "filename>, der einen guten Startpunkt darstellt. Er wird wie folgt erstellt:" "<placeholder type="footnote" id="0"/>" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ mkdir -p hello-sh/hello-sh-1.0; cd hello-sh/hello-sh-1.0n" "$ cat > hello <<EOFn" "#!/bin/shn" "# (C) 2011 Foo Bar, GPL2+n" "echo "Hello!"n" "EOFn" "$ chmod 755 hellon" "$ cd ..n" "$ tar -cvzf hello-sh-1.0.tar.gz hello-sh-1.0n" msgstr "" "$ mkdir -p hello-sh/hello-sh-1.0; cd hello-sh/hello-sh-1.0n" "$ cat > hello <<EOFn" "#!/bin/shn" "# (C) 2011 Foo Bar, GPL2+n" "echo "Hello!"n" "EOFn" "$ chmod 755 hellon" "$ cd ..n" "$ tar -cvzf hello-sh-1.0.tar.gz hello-sh-1.0n" #. type: Content of: <book><chapter><section><title> msgid "Get the program, and try it out" msgstr "Besorgen Sie sich das Programm und probieren Sie es aus" #. type: Content of: <book><chapter><section><para> msgid "" "So the first thing to do is to find and download the original source code. " "Presumably you already have the source file that you picked up at the " "author's homepage. Sources for free Unix programs usually come in " "<command>tar</command>+<command>gzip</command> format with the extension " "<filename>.tar.gz</filename>, <command>tar</command>+<command>bzip2</" "command> format with the extension <filename>.tar.bz2</filename>, or " "<command>tar</command>+<command>xz</command> format with the extension " "<filename>.tar.xz</filename>. These usually contain a directory called " "<filename><replaceable>package</replaceable>-<replaceable>version</" "replaceable></filename> with all the sources inside." msgstr "" "Als Erstes müssen 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 <command>tar</command>+<command>gzip</command> mit der Erweiterung " "<filename>.tar.gz</filename>, im Format <command>tar</command>" "+<command>bzip2</command> mit der Erweiterung <filename>.tar.bz2</filename> " "oder im Format <command>tar</command>+<command>xz</command> mit der " "Erweiterung <filename>.tar.xz</filename>.Sie enthalten üblicherweise ein " "Verzeichnis, das <filename><replaceable>Paket</replaceable>-" "<replaceable>Version</replaceable></filename> genannt ist, sowie alle " "Quellcode-Dateien darin." #. type: Content of: <book><chapter><section><para> msgid "" "If the latest version of the source is available through a VCS such as Git, " "Subversion, or CVS, you need to get it with <literal>git clone</literal>, " "<literal>svn co</literal>, or <literal>cvs co</literal> and repack it into " "<command>tar</command>+<command>gzip</command> format yourself by using the " "<literal>--exclude-vcs</literal> option." msgstr "" "Falls die neueste Version der Quellen über Versionskontrollsysteme wie Git, " "Subversion oder CVS verfügbar ist, müssen Sie sie mit »<literal>git clone</" "literal>«, »<literal>svn co</literal>« oder »<literal>csv co</literal>« " "herunterladen und dann selbst einen Tarball im Format <command>tar</command>" "+<command>gzip</command> erstellen, indem Sie die Option »<literal>--exclude-" "vcs</literal>« verwenden." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "You can identify the archive format using the <command>file</command> " "command when the file extension is not enough." msgstr "" "Sie können das Archivformat herausfinden, indem Sie den Befehl " "<command>file</command> verwenden, wenn die Dateierweiterung nicht genug ist." #. type: Content of: <book><chapter><section><para> msgid "" "If your program's source comes as some other sort of archive (for instance, " "the filename ends in <filename>.Z</filename> or <filename>.zip</" "filename><placeholder type="footnote" id="0"/>), you should also unpack " "it with the appropriate tools and repack it." msgstr "" "Kommt der Quellcode in einem anderen Archivtyp daher (beispielsweise wenn " "der Dateiname auf <filename>.Z</filename> oder <filename>.zip</filename> " "endet <placeholder type="footnote" id="0"/>), sollten Sie ihn auch mit " "den geeigneten Werkzeugen entpacken und neu einpacken." #. type: Content of: <book><chapter><section><para> msgid "" "If your program's source comes with some contents which do not comply with " "DFSG, you should also unpack it to remove such contents and repack it with a " "modified upstream version containing <literal>dfsg</literal>." msgstr "" "Falls die Quellen Ihres Programms Inhalten enthalten, die nicht den DFSG " "genügen, sollten Sie sich auch entpacken, um solche Inhalte zu entfernen, " "und mit einer geänderten Version der Originalautoren, die <literal>dfsg</" "literal> enhält, neu packen." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "This program is already packaged. The <ulink url="&gentoo-package;" "">current version</ulink> uses Autotools as its build structure and is " "substantially different from the following examples, which were based on " "version 0.9.12." msgstr "" "Das Programm ist bereits paketiert worden. Die <ulink url="&gentoo-package;" "">aktuelle Version</ulink> verwendet die Autotools als Baustruktur und " "unterscheidet sich signifikant von den folgenden Beispielen, die auf Version " "0.9.12 basieren." #. type: Content of: <book><chapter><section><para> msgid "" "As an example, I'll use a program called <command>gentoo</command>, a GTK+ " "file manager. <placeholder type="footnote" id="0"/>" msgstr "" "Als Beispiel verwende ich hier ein Programm namens <command>gentoo</" "command>, einen GTK+-Dateimanager. <placeholder type="footnote" id="0"/>" #. type: Content of: <book><chapter><section><para> msgid "" "Create a subdirectory under your home directory named <filename>debian</" "filename> or <filename>deb</filename> or anything you find appropriate (e." "g. just <filename>~/gentoo</filename> would do fine in this case). Place " "the downloaded archive in it, and extract it (with <literal>tar xzf " "gentoo-0.9.12.tar.gz</literal>). Make sure there are no warning messages, " "even <emphasis>irrelevant</emphasis> ones, because other people's unpacking " "tools may or may not ignore these anomalies, so they may have problems " "unpacking them. Your shell command line may look something like this:" msgstr "" "Erstellen Sie ein Unterverzeichnis in Ihrem Home-Verzeichnis namens " "<filename>debian</filename> oder <filename>deb</filename> oder irgendetwas, " "das Sie passend finden (beispielsweise wäre in diesem Fall nur <filename>~/" "gentoo</filename> völlig in Ordnung). Kopieren Sie das heruntergeladene " "Archiv dorthin und entpacken Sie es (mit »<literal>tar xzf gentoo-0.9.12.tar." "gz</literal>«). Vergewissern Sie sich, dass es keine Warnmeldungen beim " "Entpacken gab, nicht mal so genannte <emphasis>irrelevante</emphasis>, 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-Kommandozeile könnte dann wie folgt aussehen:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ mkdir ~/gentoo ; cd ~/gentoon" "$ wget http://<replaceable>www.example.org</replaceable>/gentoo-0.9.12.tar.gzn" "$ tar xvzf gentoo-0.9.12.tar.gzn" "$ ls -Fn" "gentoo-0.9.12/n" "gentoo-0.9.12.tar.gzn" msgstr "" "$ mkdir ~/gentoo ; cd ~/gentoon" "$ wget http://<replaceable>www.example.org</replaceable>/gentoo-0.9.12.tar.gzn" "$ tar xvzf gentoo-0.9.12.tar.gzn" "$ ls -Fn" "gentoo-0.9.12/n" "gentoo-0.9.12.tar.gzn" #. type: Content of: <book><chapter><section><para> msgid "" "Now you have another subdirectory, called <filename>gentoo-0.9.12</" "filename>. Change to that directory and <emphasis>thoroughly</emphasis> " "read the provided documentation. Usually there are files named " "<filename>README*</filename>, <filename>INSTALL*</filename>, <filename>*." "lsm</filename> or <filename>*.html</filename>. You must find instructions " "on how to compile and install the program (most probably they'll assume you " "want to install to the <filename>/usr/local/bin</filename> directory; you " "won't be doing that, but more on that later in <xref linkend="destdir"/>)." msgstr "" "Jetzt haben Sie ein neues Unterverzeichnis namens <filename>gentoo-0.9.12</" "filename>. Wechseln Sie dorthin und lesen Sie die mitgelieferte " "Dokumentation <emphasis>aufmerksam</emphasis> durch. Meistens gibt es " "Dateien mit den Namen <filename>README*</filename>, <filename>INSTALL*</" "filename>, <filename>*.lsm</filename> oder <filename>*.html</filename>. Sie " "müssen eine Anleitung finden, wie man das Programm kompiliert und " "installiert (meistens wird von einer Installation in das Verzeichnis " "<filename>/usr/local/bin</filename> ausgegangen, aber das werden Sie nicht " "machen. Mehr dazu später in <xref linkend="destdir"/>)." #. type: Content of: <book><chapter><section><para> msgid "" "You should start packaging with a completely clean (pristine) source " "directory, or simply with freshly unpacked sources." msgstr "" "Sie sollten das Paketieren mit einem komplett aufgeräumten (»pristine«, " "makellosen) Quellcode-Verzeichnis anfangen oder die Quellen einfach frisch " "entpacken." #. type: Content of: <book><chapter><section><title> msgid "Simple build systems" msgstr "Einfache Bausysteme" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Many modern programs come with a script <filename>configure</filename> which " "when executed creates a <filename>Makefile</filename> customized for your " "system." msgstr "" "Viele moderne Programme kommen mit einem Skript <filename>configure</" "filename>, das bei der Ausführung eine für Ihr System angepasste " "<filename>Makefile</filename> erstellt." #. type: Content of: <book><chapter><section><para> msgid "" "Simple programs usually come with a <filename>Makefile</filename> and can be " "compiled just by invoking <literal>make</literal>.<placeholder type=" ""footnote" id="0"/> Some of them support <literal>make check</literal>, " "which runs included self-tests. Installation to the destination directories " "is usually done with <literal>make install</literal>." msgstr "" "Einfache Programme enthalten normalerweise eine <filename>Makefile</" "filename>-Datei und können rein durch den Aufruf von »<literal>make</" "literal>« kompiliert werden. <placeholder type=" ""footnote" id="0"/> Einige von ihnen unterstützen »<literal>make " "check</literal>«, wodurch die mitgelieferten Selbsttests gestartet werden. " "Die Installation in das Zielverzeichnis wird üblicherweise mittels " "»<literal>make install</literal>« durchgeführt." #. type: Content of: <book><chapter><section><para> msgid "" "Now try to compile and run your program, to make sure it works properly and " "doesn't break something else while it's installing or running." msgstr "" "Versuchen Sie nun, das Programm zu kompilieren und auszuführen. Stellen Sie " "sicher, dass es einwandfrei funktioniert und nichts anderes während der " "Installation oder der Ausführung kaputt macht." #. type: Content of: <book><chapter><section><para> msgid "" "Also, you can usually run <literal>make clean</literal> (or better " "<literal>make distclean</literal>) to clean up the build directory. " "Sometimes there's even a <literal>make uninstall</literal> which can be used " "to remove all the installed files." msgstr "" "Meistens können Sie außerdem »<literal>make clean</literal>« (oder besser " "»<literal>make distclean</literal>«) ausführen, um im Build-Verzeichnis " "aufzuräumen. Manchmal gibt es sogar ein »<literal>make uninstall</literal>«, " "womit alle installierten Dateien gelöscht werden können." #. type: Content of: <book><chapter><section><title> msgid "Popular portable build systems" msgstr "Beliebte portable Bau-Systeme" #. type: Content of: <book><chapter><section><para> msgid "" "A lot of free software programs are written in the <ulink url="&c-program;" "">C</ulink> and <ulink url="&cxx;">C++</ulink> languages. Many of these " "use Autotools or CMake to make them portable across different platforms. " "These build tools need to be used to generate the <filename>Makefile</" "filename> and other required source files first. Then, such programs are " "built using the usual <literal>make; make install</literal>." msgstr "" "Viele freie Software-Programme sind in den Sprachen <ulink url="http://de." "wikipedia.org/wiki/C_(Programmiersprache)">C</ulink> oder <ulink url=" ""http://de.wikipedia.org/wiki/C++">C++</ulink> geschrieben. Die meisten " "von ihnen verwenden Autotools oder CMake, um auf verschiedene Plattformen " "portierbar zu sein. Diese Bauwerkzeuge müssen zuerst benutzt werden, um die " "<filename>Makefile</filename> und andere benötigte Quelldateien zu erzeugen. " "Anschließend werden solche Programme mit dem üblichen »<literal>make; make " "install</literal>« gebaut." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Autotools is too big to deal in this small tutorial. This section is meant " "to provide keywords and references only. Please make sure to read the " "<ulink url="&autotools-tutorial;">Autotools Tutorial</ulink> and the local " "copy of <filename>&autotools-readme;</filename>, if you need to use it." msgstr "" "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 " "<ulink url="&autotools-tutorial;">Autotools Tutorial</ulink> und die " "lokale Kopie der <filename>&autotools-readme;</filename> lesen." #. type: Content of: <book><chapter><section><para> msgid "" "<ulink url="&gnu-build-system;">Autotools</ulink> is the GNU build system " "comprising <ulink url="&autoconf;">Autoconf</ulink>, <ulink url=" ""&automake;">Automake</ulink>, <ulink url="&libtool;">Libtool</ulink>, " "and <ulink url="&gettext;">gettext</ulink>. You can recognize such " "sources by the <filename>configure.ac</filename>, <filename>Makefile.am</" "filename>, and <filename>Makefile.in</filename> files. <placeholder type=" ""footnote" id="0"/>" msgstr "" "<ulink url="http://de.wikipedia.org/wiki/GNU_Build_System">Autotools</" "ulink> ist das GNU-Buildsystem, das aus <ulink url="&autoconf;">Autoconf</" "ulink>, <ulink url="&automake;">Automake</ulink>, <ulink url="&libtool;" "">Libtool</ulink> und <ulink url="http://de.wikipedia.org/wiki/GNU_gettext" "">gettext</ulink> besteht. Sie erkennen solche Quellen an den Dateien " "<filename>configure.ac</filename>, <filename>Makefile.am</filename> und " "<filename>Makefile.in</filename>. <placeholder type="footnote" id="0"/>" #. type: Content of: <book><chapter><section><para> msgid "" "The first step of the Autotools workflow is usually that upstream runs " "<literal>autoreconf -i -f</literal> in the source directory and distributes " "the generated files along with the source." msgstr "" "Der erste Schritt im Arbeitsablauf der Autotools ist üblicherweise, dass der " "ursprüngliche Autor »<literal>autoreconf -i -f</literal>« im " "Quellenverzeichnis aufruft und die Quellen dann mit den erzeugten Dateien " "verteilt." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "configure.ac-----+-> autoreconf -+-> configuren" "Makefile.am -----+ | +-> Makefile.inn" "src/Makefile.am -+ | +-> src/Makefile.inn" " | +-> config.h.inn" " automaken" " aclocaln" " aclocal.m4n" " autoheadern" msgstr "" "configure.ac-----+-> autoreconf -+-> configuren" "Makefile.am -----+ | +-> Makefile.inn" "src/Makefile.am -+ | +-> src/Makefile.inn" " | +-> config.h.inn" " automaken" " aclocaln" " aclocal.m4n" " autoheadern" #. type: Content of: <book><chapter><section><para> msgid "" "Editing <filename>configure.ac</filename> and <filename>Makefile.am</" "filename> files requires some knowledge of <command>autoconf</command> and " "<command>automake</command>. See <literal>info autoconf</literal> and " "<literal>info automake</literal>." msgstr "" "Das Bearbeiten der Dateien <filename>configure.ac</filename> und " "<filename>Makefile.am</filename> erfordert etwas Wissen über " "<command>autoconf</command> und <command>automake</command>. Siehe " "»<literal>info autoconf</literal>« und »<literal>info automake</literal>«." #. type: Content of: <book><chapter><section><para> msgid "" "The second step of the Autotools workflow is usually that the user obtains " "this distributed source and runs <literal>./configure && make</" "literal> in the source directory to compile the program into an executable " "command <command><replaceable>binary</replaceable></command>." msgstr "" "Der zweite Schritt im Arbeitsablauf der Autotools ist üblicherweise, dass " "der Benutzer diese verteilten Quellen erhält und »<literal>./configure &" "& make</literal>« in den Quellen aufruft, um das Programm zu einem " "ausführbaren <command><replaceable>Binärdatei</replaceable></command>-Befehl " "zu kompilieren." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "Makefile.in -----+ +-> Makefile -----+-> make -> <replaceable>binary</replaceable>n" "src/Makefile.in -+-> ./configure -+-> src/Makefile -+n" "config.h.in -----+ +-> config.h -----+n" " |n" " config.status -+n" " config.guess --+n" msgstr "" "Makefile.in -----+ +-> Makefile -----+-> make -> <replaceable>binary</replaceable>n" "src/Makefile.in -+-> ./configure -+-> src/Makefile -+n" "config.h.in -----+ +-> config.h -----+n" " |n" " config.status -+n" " config.guess --+n" #. type: Content of: <book><chapter><section><para> msgid "" "You can change many things in the <filename>Makefile</filename>; for " "instance you can change the default location for file installation using the " "option <literal>./configure --prefix=/usr</literal>." msgstr "" "Sie können in der Datei <filename>Makefile</filename> viele Dinge ändern, " "beispielsweise können Sie den voreingestellten Installationsort für Dateien " "ändern, idem Sie die Befehlszeilenoption »<command>./configure --prefix=/" "usr</command>« benutzen." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "You can automate this by using <systemitem role="package">dh-autoreconf</" "systemitem> package. See <xref linkend="customrules"/>." msgstr "" "Sie können dies automatisieren, indem Sie das Paket <systemitem role=" ""package">dh-autoreconf</systemitem> installieren. Lesen Sie <xref linkend=" ""customrules"/>." #. type: Content of: <book><chapter><section><para> msgid "" "Although it is not required, updating the <filename>configure</filename> and " "other files with <literal>autoreconf -i -f</literal> may improve the " "compatibility of the source. <placeholder type="footnote" id="0"/>" msgstr "" "Obwohl es nicht erforderlich ist, kann die Aktualisierung der Datei " "<filename>configure</filename> und anderer Dateien mittels " "»<literal>autoreconf -i -f</literal>« die Kompatibilität der Quellen " "verbessern. <placeholder type="footnote" id="0"/>" #. type: Content of: <book><chapter><section><para> msgid "" "<ulink url="&cmake;">CMake</ulink> is an alternative build system. You " "can recognize such sources by the <filename>CMakeLists.txt</filename> file." msgstr "" "<ulink url="http://de.wikipedia.org/wiki/CMake">CMake</ulink> ist ein " "alternatives Build-System. Sie erkennen solche Quellen an der Datei " "<filename>CMakeLists.txt</filename>." #. type: Content of: <book><chapter><section><title> msgid "Package name and version" msgstr "Name und Version des Pakets" #. type: Content of: <book><chapter><section><para> msgid "" "If the upstream source comes as <filename>gentoo-0.9.12.tar.gz</filename>, " "you can take <literal>gentoo</literal> as the (source) <emphasis role=" ""strong">package name</emphasis> and <literal>0.9.12</literal> as the " "<emphasis role="strong">upstream version</emphasis>. These are used in " "the <filename>debian/changelog</filename> file described later in <xref " "linkend="changelog"/>, too." msgstr "" "Falls die Quellen der Originalautoren als <filename>gentoo-0.9.12.tar.gz</" "filename> existieren, können Sie <literal>gentoo</literal> als (Quell-)" "<emphasis role="strong">Paketnamen</emphasis> und <literal>0.9.12</" "literal> als die <emphasis role="strong">Versionsnummer der " "Originalautoren</emphasis> verwenden. Dieser werden in der Datei " "<filename>debian/changelog</filename> verwandt, die auch später in <xref " "linkend="changelog"/> beschrieben wird." #. type: Content of: <book><chapter><section><para> msgid "" "Although this simple approach works most of the times, you may need to " "adjust <emphasis role="strong">package name</emphasis> and <emphasis role=" ""strong">upstream version</emphasis> by renaming the upstream source to " "follow Debian Policy and existing convention." msgstr "" "Obwohl dieser einfache Ansatz meistens funktioniert, könnte es sein, dass " "Sie den <emphasis role="strong">Paketnamen</emphasis> und die <emphasis " "role="strong">Versionsnummer der Originalautoren</emphasis> durch " "Umbenennen der Originalquellen anpassen müssen, damit dies den Debian-" "Richtlinien und bestehenden Konventionen genügen." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The default package name field length of <command>aptitude</command> is 30. " "For more than 90% of packages, the package name is less than 24 characters." msgstr "" "Die Standardpaketnamenfeldlänge von <command>aptitude</command> beträgt 30. " "Für mehr als 90% der Pakete ist die Länge des Namens weniger als 24 Zeichen." #. type: Content of: <book><chapter><section><para> msgid "" "You must choose the <emphasis role="strong">package name</emphasis> to " "consist only of lower case letters (<literal>a-z</literal>), digits " "(<literal>0-9</literal>), plus (<literal>+</literal>) and minus (<literal>-</" "literal>) signs, and periods (<literal>.</literal>). It must be at least two " "characters long, must start with an alphanumeric character, and must not be " "the same as existing ones. It is a good idea to keep its length within 30 " "characters. <placeholder type="footnote" id="0"/>" msgstr "" "Sie müssen den <emphasis role="strong">Paketnamen</emphasis> so wählen, " "dass er nur aus Kleinbuchstaben (<literal>a-z</literal>), Ziffern " "(<literal>0-9</literal>), Plus- (<literal>+</literal>) und Minus- (<literal>-" "</literal>) Zeichen und Punkten (<literal>.</literal>) 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. <placeholder type="footnote" " "id="0"/>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If you follow the <ulink url="&devref-newpackage;">Debian Developer's " "Reference 5.1. "New packages"</ulink>, the ITP process will usually catch " "this kind of issues." msgstr "" "Falls Sie <ulink url="&devref-newpackage;">Debian Developer's Reference " "5.1. "New packages"</ulink> folgen, wird der ITP-Prozess normalerweise " "solche Dinge abfangen." #. type: Content of: <book><chapter><section><para> msgid "" "If upstream uses some generic term such as <literal>test-suite</literal> for " "its name, it is a good idea to rename it to identify its contents explicitly " "and avoid namespace pollution. <placeholder type="footnote" id="0"/>" msgstr "" "Falls die Originalautoren einen generischen Ausdruck wie <literal>test-" "suite</literal> für den Namen verwenden, ist es eine gute Idee, es " "umzubenennen, um den Inhalt explizit zu identifizieren und den Namensraum " "sauber zu halten. <placeholder type="footnote" id="0"/>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "This stricter rule should help you avoid confusing file names." msgstr "" "Diese strengere Regel sollte Ihnen helfen, verwirrende Namen zu vermeiden." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The default version field length of <command>aptitude</command> is 10. The " "Debian revision with preceding hyphen usually consumes 2. For more than 80% " "of packages, the upstream version is less than 8 characters and the Debian " "revision is less than 2 characters. For more than 90% of packages, the " "upstream version is less than 10 characters and the Debian revision is less " "than 3 characters." msgstr "" "Die Standardversionsfeldlänge von <command>aptitude</command> 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." #. type: Content of: <book><chapter><section><para> msgid "" "You should choose the <emphasis role="strong">upstream version</emphasis> " "to consist only of alphanumerics (<literal>0-9A-Za-z</literal>), plus " "(<literal>+</literal>), tildes (<literal>~</literal>), and periods " "(<literal>.</literal>). It must start with a digit (<literal>0-9</" "literal>). <placeholder type="footnote" id="0"/> It is good idea to " "keep its length within 8 characters if possible. <placeholder type=" ""footnote" id="1"/>" msgstr "" "Sie sollten die <emphasis role="strong">Versionsnummer der " "Originalautoren</emphasis> so wählen, dass sie nur aus alphanumerischen " "Zeichen (<literal>0-9A-Za-z</literal>), Pluszeichen (<literal>+</literal>), " "Tilden (<literal>~</literal>) und Satzpunkten (<literal>.</literal>) " "besteht. Sie muss mit einer Ziffer (<literal>0-9</literal>) beginnen. " "<placeholder type="footnote" id="0"/> Es ist eine gute Idee, die Länger " "falls möglich innerhalb von 8 Zeichen zu halten. <placeholder type="footnote" "" id="1"/>" #. type: Content of: <book><chapter><section><para> msgid "" "If upstream does not use a normal versioning scheme such as " "<literal>2.30.32</literal> but uses some kind of date such as " "<literal>11Apr29</literal>, a random codename string, or a VCS hash value as " "part of the version, make sure to remove them from the <emphasis role=" ""strong">upstream version</emphasis>. Such information can be recorded in " "the <filename>debian/changelog</filename> file. If you need to invent a " "version string, use the <literal>YYYYMMDD</literal> format such as " "<literal>20110429</literal> as upstream version. This ensures that " "<command>dpkg</command> interprets later versions correctly as upgrades. If " "you need to ensure smooth transition to the normal version scheme such as " "<literal>0.1</literal> in future, use the <literal>0~YYMMDD</literal> format " "such as <literal>0~110429</literal> as upstream version, instead." msgstr "" "Falls die Originalautoren kein normales Versionierungsschema wie " "<literal>2.30.32</literal> sondern eine Art von Datum wie <literal>11Apr29</" "literal>, einen zufälligen Kodenamen oder einen VCS-Hashwert als Teil der " "Version verwenden, stellen Sie sicher, dass sie das von der <emphasis role=" ""strong">Version der Originalautoren</emphasis> entfernen. Diese " "Informationen können in der Datei <filename>debian/changelog</filename> " "festgehalten werden. Falls Sie eine Versionsnummer erfinden müssen, " "vewrenden Sie das Format <literal>YYYYMMDD</literal>, wie <literal>20110429</" "literal>, als Versionsnummer der Originalautoren. Das stellt sicher, dass " "<command>dpkg</command> neuere Versionen korrekt als Upgrades interpretiert. " "Falls Sie in der Zukunft reibungslose Übergänge zu dem normalen " "Versionsschemata wie <literal>0.1</literal> sicherstellen müssen, verwenden " "Sie das stattdessen das Format <literal>0~YYMMDD</literal>, wie " "<literal>0~110429</literal>, als Versionsnummer der Originalautoren." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Version strings may be <emphasis role="strong">upstream version</emphasis> " "(<literal><replaceable>version</replaceable></literal>), <emphasis role=" ""strong">Debian revision</emphasis> (<literal><replaceable>revision</" "replaceable></literal>), or <emphasis role="strong">version</emphasis> " "(<literal><replaceable>version</replaceable>-<replaceable>revision</" "replaceable></literal>). See <xref linkend="newrevision"/> for how the " "<emphasis role="strong">Debian revision</emphasis> is incremented." msgstr "" "Versionsnummern können die <emphasis role="strong">Versionsnummer der " "Originalautoren</emphasis> (<literal><replaceable>Version</replaceable></" "literal>), die <emphasis role="strong">Debian-Revision</emphasis> " "(<literal><replaceable>Revision</replaceable></literal>) oder die <emphasis " "role="strong">Version</emphasis> (<literal><replaceable>Version</" "replaceable>-<replaceable>Revision</replaceable></literal>) sein. Lesen Sie " "<xref linkend="newrevision"/>, um zu erfahren, wie die <emphasis role=" ""strong">Debian-Revision</emphasis> erhöht wird." #. type: Content of: <book><chapter><section><para> msgid "" "Version strings <placeholder type="footnote" id="0"/> can be compared " "using <citerefentry> <refentrytitle>dpkg</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> as follows." msgstr "" "Versionsnummern <placeholder type="footnote" id="0"/> können mit " "<citerefentry> <refentrytitle>dpkg</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry> wie folgt verglichen werden:" -- Dr. Helge Kreutzmann debian@helgefjell.de Dipl.-Phys. http://www.helgefjell.de/debian.php 64bit GNU powered gpg signed mail preferred Help keep free software "libre": http://www.ffii.de/
Attachment:
signature.asc
Description: Digital signature