# German translation of developers-reference: best-pkging-practices. # This file is distributed under the same license as the # developers-reference package. # Chris Leick , 2011. # msgid "" msgstr "" "Project-Id-Version: developers-reference 3.4.4\n" "POT-Creation-Date: 2010-06-20 09:23-0400\n" "PO-Revision-Date: 2011-03-28 18:54+0100\n" "Last-Translator: Chris Leick \n" "Language-Team: German \n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. type: Content of: #: best-pkging-practices.dbk:7 msgid "Best Packaging Practices" msgstr "Optimale Vorgehensweise beim Paketieren" #. type: Content of: <chapter><para> #: best-pkging-practices.dbk:9 msgid "" "Debian's quality is largely due to the <ulink " "url=\"&url-debian-policy;\">Debian Policy</ulink>, which defines explicit " "baseline requirements which all Debian packages must fulfill. Yet there is " "also a shared history of experience which goes beyond the Debian Policy, an " "accumulation of years of experience in packaging. Many very talented people " "have created great tools, tools which help you, the Debian maintainer, " "create and maintain excellent packages." msgstr "" "Debians Qualität ist größtenteils den <ulink " "url=\"&url-debian-policy;\">Debian-Richtlinien</ulink> zu verdanken, die " "explizit grundlegende Anforderungen definieren, die alle Debian-Pakete " "erfüllen müssen. Bisher gibt es außerdem eine gemeinsame Geschichte der " "Erfahrung, die hinter den Debian-Richtlinien steckt, einer Ansammlung " "jahrelanger Erfahrung im Paketieren. Viele sehr talentierte Leute haben " "großartige Werkzeuge geschaffen, Werkzeuge, die Ihnen als Debian-Betreuer " "helfen, ausgezeichnete Pakete zu erstellen und zu pflegen." #. type: Content of: <chapter><para> #: best-pkging-practices.dbk:18 msgid "" "This chapter provides some best practices for Debian developers. All " "recommendations are merely that, and are not requirements or policy. These " "are just some subjective hints, advice and pointers collected from Debian " "developers. Feel free to pick and choose whatever works best for you." msgstr "" "Dieses Kapitel stellt einige optimale Vorgehensweisen für Debian-Entwickler " "vor. Das alles sind lediglich Empfehlungen und keine Anforderungen oder " "Richtlinien. Dies sind nur einige subjektive Hinweise, Ratschläge und " "Fingerzeige, die von Debian-Entwicklern gesammelt wurden. Suchen Sie sich " "einfach das heraus, was Ihnen am meisten zusagt." #. type: Content of: <chapter><section><title> #: best-pkging-practices.dbk:24 msgid "Best practices for <filename>debian/rules</filename>" msgstr "Optimale Vorgehensweisen für <filename>debian/rules</filename>" #. type: Content of: <chapter><section><para> #: best-pkging-practices.dbk:26 msgid "" "The following recommendations apply to the <filename>debian/rules</filename> " "file. Since <filename>debian/rules</filename> controls the build process " "and selects the files which go into the package (directly or indirectly), " "it's usually the file maintainers spend the most time on." msgstr "" "Die folgenden Empfehlungen gelten für die Datei " "<filename>debian/rules</filename>. Da <filename>debian/rules</filename> den " "Build-Prozess steuert und die Dateien auswählt, die in das Paket gelangen " "(direkt oder indirekt), ist es normerweise die Datei, der die Betreuer die " "meiste Zeit widmen." #. type: Content of: <chapter><section><section><title> #: best-pkging-practices.dbk:32 msgid "Helper scripts" msgstr "Helfer-Skripte" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:34 msgid "" "The rationale for using helper scripts in <filename>debian/rules</filename> " "is that they let maintainers use and share common logic among many " "packages. Take for instance the question of installing menu entries: you " "need to put the file into <filename>/usr/share/menu</filename> (or " "<filename>/usr/lib/menu</filename> for executable binary menufiles, if this " "is needed), and add commands to the maintainer scripts to register and " "unregister the menu entries. Since this is a very common thing for packages " "to do, why should each maintainer rewrite all this on their own, sometimes " "with bugs? Also, supposing the menu directory changed, every package would " "have to be changed." msgstr "" "Der Grund für die Benutzung von Helfer-Skripten in " "<filename>debian/rules</filename> ist, dass sie den Betreuern eine geteilte " "gemeinsame Logik inmitten vieler Pakete einräumen. Nehmen Sie zum Beispiel " "die Frage, wie Menü-Einträge installiert werden: Sie müssen die Datei in " "<filename>/usr/share/menu</filename> (oder <filename>/usr/lib/menu</filename> " "für ausführbare binäre Menü-Dateien, wenn nötig) ablegen und den " "Betreuerskripten Befehle hinzufügen, um Menü-Einträge zu registrieren bzw. " "ihre Registrierung zu entfernen. Dies ist eine sehr häufige Tätigkeit für " "Pakete. Warum sollte daher jeder Betreuer all dies für sich selbst neu " "schreiben und dabei möglicherweise Fehler verursachen? Außerdem, den Fall " "gesetzt, das Menü-Verzeichnis würde sich ändern, dann müsste jedes Paket " "geändert werden." #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:45 msgid "" "Helper scripts take care of these issues. Assuming you comply with the " "conventions expected by the helper script, the helper takes care of all the " "details. Changes in policy can be made in the helper script; then packages " "just need to be rebuilt with the new version of the helper and no other " "changes." msgstr "" "Helfer-Skripte kümmern sich um diese Probleme. Angenommen, Sie erfüllen alle " "Gepflogenheiten, die das Helfer-Skript erwartet, dann kümmert sich das " "Helfer-Skript um alle Einzelheiten. Änderungen an den Richtlinien können im " "Helfer-Skript erledigt werden. Dann müssen Pakete nur mit der neuen Version " "des Helfer-Skripts erstellt und sonst nicht geändert werden." #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:52 msgid "" "<xref linkend=\"tools\"/> contains a couple of different helpers. The most " "common and best (in our opinion) helper system is <systemitem " "role=\"package\">debhelper</systemitem>. Previous helper systems, such as " "<systemitem role=\"package\">debmake</systemitem>, were monolithic: you " "couldn't pick and choose which part of the helper you found useful, but had " "to use the helper to do everything. <systemitem " "role=\"package\">debhelper</systemitem>, however, is a number of separate " "little <command>dh_*</command> programs. For instance, " "<command>dh_installman</command> installs and compresses man pages, " "<command>dh_installmenu</command> installs menu files, and so on. Thus, it " "offers enough flexibility to be able to use the little helper scripts, where " "useful, in conjunction with hand-crafted commands in " "<filename>debian/rules</filename>." msgstr "" "<xref linkend=\"tools\"/> enthält ein paar verschiedene Helfer-Skripte. Das " "gängigste und beste (nach Meinung von Debian) Helfersystem ist <systemitem " "role=\"package\">debhelper</systemitem>. Verhergehende Helfersysteme, wie " "<systemitem role=\"package\">debmake</systemitem> waren monolithisch. Sie " "konnten nicht den Teil des Helfers herausgreifen und auswählen, den Sie " "nützlich fanden, mussten aber den Helfer für alles benutzen. <systemitem " "role=\"package\">debhelper</systemitem> besteht jedoch aus mehreren " "getrennten kleinen <command>dh_*</command>-Programmen. " "<command>dh_installman</command> installiert und komprimiert zum Beispiel " "Handbuchseiten, <command>dh_installmenu</command> installiert Menü-Dateien " "und so weiter. Daher bietet es eine ausreichende Flexibilität, die kleinen " "Helfer-Skripte dort zu benutzen, wo sie nützlich sind in Verbindung mit " "handgemachten Befehlen in <filename>debian/rules</filename>." #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:66 msgid "" "You can get started with <systemitem role=\"package\">debhelper</systemitem> " "by reading <citerefentry> <refentrytitle>debhelper</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>, and looking at the examples that " "come with the package. <command>dh_make</command>, from the <systemitem " "role=\"package\">dh-make</systemitem> package (see <xref " "linkend=\"dh-make\"/>), can be used to convert a vanilla source package to a " "<systemitem role=\"package\">debhelper</systemitem>ized package. This " "shortcut, though, should not convince you that you do not need to bother " "understanding the individual <command>dh_*</command> helpers. If you are " "going to use a helper, you do need to take the time to learn to use that " "helper, to learn its expectations and behavior." msgstr "" "Sie können mit <systemitem role=\"package\">debhelper</systemitem> anfangen, " "indem Sie <citerefentry> <refentrytitle>debhelper</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> lesen und sich die Beispiele " "ansehen, die dem Paket beigefügt sind. <command>dh_make</command> aus dem " "Paket <systemitem role=\"package\">dh-make</systemitem> (siehe <xref " "linkend=\"dh-make\"/>) kann benutzt werden, um ein einfaches Quellpaket in " "ein mit <systemitem role=\"package\">debhelper</systemitem> bearbeitetes " "Paket umzuwandeln. Gleichwohl sollte diese Kurzform Sie jedoch nicht davon " "überzeugen, dass Sie sich nicht plagen müssen, um die einzelnen " "<command>dh_*</command>-Helfer zu verstehen. Falls Sie einen Helfer benutzen " "möchten, müssen Sie sich die Zeit nehmen zu lernen, wie dieser Helfer " "benutzt wird, um zu verstehen was er erwartet und wie er sich verhält." #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:79 msgid "" "Some people feel that vanilla <filename>debian/rules</filename> files are " "better, since you don't have to learn the intricacies of any helper system. " "This decision is completely up to you. Use what works for you. Many " "examples of vanilla <filename>debian/rules</filename> files are available at " "<ulink url=\"&url-rules-files;\"></ulink>." msgstr "" "Einige Personen sind der Ansicht, dass einfache " "<filename>debian/rules</filename>-Dateien besser sind, da Sie nicht die " "Feinheiten eines Helfer-Systems erlernen müssen. Diese Entscheidung liegt " "allein bei Ihnen. Benutzen Sie das, was für Sie am besten klappt. Unter " "<ulink url=\"&url-rules-files;\"></ulink> sind viele Beispiele für einfache " "<filename>debian/rules</filename>-Dateien verfügbar." #. type: Content of: <chapter><section><section><title> #: best-pkging-practices.dbk:88 msgid "Separating your patches into multiple files" msgstr "Unterteilen Sie Ihre Patches in mehrere Dateien" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:90 msgid "" "Big, complex packages may have many bugs that you need to deal with. If you " "correct a number of bugs directly in the source, and you're not careful, it " "can get hard to differentiate the various patches that you applied. It can " "get quite messy when you have to update the package to a new upstream " "version which integrates some of the fixes (but not all). You can't take " "the total set of diffs (e.g., from <filename>.diff.gz</filename>) and work " "out which patch sets to back out as a unit as bugs are fixed upstream." msgstr "" "Große, komplexe Pakete könnten mehrere Fehler haben, die Sie bewältigen " "müssen. Falls Sie mehrere Fehler direkt in der Quelle beheben und nicht " "sorgfältig vorgehen, kann es schwierig werden, die verschiedenen Patche, die " "Sie bereitgestellt haben, zu unterscheiden. Es kann ziemlich chaotisch " "werden, wenn Sie das Paket auf eine neue Originalversion aktualisieren " "müssen, die einige (aber nicht alle) Reparaturen enthält. Sie können nicht " "die komplette Zusammenstellung der Diffs nehmen (z.B. aus " "<filename>.diff.gz</filename>) und austüfteln, welcher Patch es als Einheit " "zurücksetzt, da Fehler im Original repariert wurden." #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:99 msgid "" "Fortunately, with the source format “3.0 (quilt)” it is now possible to keep " "patches separate without having to modify <filename>debian/rules</filename> " "to setup a patch system. Patches are stored in " "<filename>debian/patches/</filename> and when the source package is unpacked " "patches listed in <filename>debian/patches/series</filename> are " "automatically applied. As the name implies, patches can be managed with " "<command>quilt</command>." msgstr "" "Glücklicherweise ist es nun mit dem Quellformat »3.0 (quilt)« möglich, die " "Patche getrennt zu halten ohne <filename>debian/rules</filename> zur " "Einrichtung eines Patch-Systems ändern zu müssen. Patche werden in " "<filename>debian/patches/</filename> gespeichert und wenn das Quellpaket " "entpackt wird, werden automatisch die Patches angewandt, die in " "<filename>debian/patches/series</filename> aufgeführt sind. Wie der Name " "schon sagt, können Patches mit <command>quilt</command> verwaltet werden." #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:107 msgid "" "When using the older source “1.0”, it's also possible to separate patches " "but a dedicated patch system must be used: the patch files are shipped " "within the Debian patch file (<filename>.diff.gz</filename>), usually within " "the <filename>debian/</filename> directory. The only difference is that they " "aren't applied immediately by <command>dpkg-source</command>, but by the " "<literal>build</literal> rule of <filename>debian/rules</filename>, through " "a dependency on the <literal>patch</literal> rule. Conversely, they are " "reverted in the <literal>clean</literal> rule, through a dependency on the " "<literal>unpatch</literal> rule." msgstr "" "Wenn Sie die ältere Quelle »1.0« verwenden, ist es auch möglich, Patche zu " "trennen, aber es muss ein zugehöriges Patch-System verwandt werden: Die " "Patch-Dateien werden innerhalb der Debian-Patch-Datei " "(<filename>.diff.gz</filename>) mitgeliefert, normalerweise im Verzeichnis " "<filename>debian/</filename>. Der einzige Unterschied ist, dass sie nicht " "unmittelbar von <command>dpkg-source</command> angewandt werden, sondern " "von der <literal>build</literal>-Regel der Datei " "<filename>debian/rules</filename> durch eine Abhängigkeit in der " "<literal>patch</literal>-Regel. Im Gegenzug werden sie von der Regel " "<literal>clean</literal> durch eine Abhängigkeit zur Regel " "<literal>unpatch</literal> umgekehrt." #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:119 msgid "" "<command>quilt</command> is the recommended tool for this. It does all of " "the above, and also allows to manage patch series. See the <systemitem " "role=\"package\">quilt</systemitem> package for more information." msgstr "" "<command>quilt</command> ist das dafür empfohlene Werkzeug. Es erledigt alles " "oben beschriebene und ermöglicht außerdem die Verwaltung von Patch-Serien. " "Weitere Informationen finden Sie im Paket <systemitem " "role=\"package\">quilt</systemitem>." #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:125 msgid "" "There are other tools to manage patches, like <command>dpatch</command>, and " "the patch system integrated with <systemitem " "role=\"package\">cdbs</systemitem>." msgstr "" "Es gibt noch andere Werkzeuge, um Patches zu verwalten, wie " "<command>dpatch</command> und das in <systemitem " "role=\"package\">cdbs</systemitem> eingebaute Patch-System." #. type: Content of: <chapter><section><section><title> #: best-pkging-practices.dbk:132 msgid "Multiple binary packages" msgstr "Pakete mit mehreren Binärdateien" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:134 msgid "" "A single source package will often build several binary packages, either to " "provide several flavors of the same software (e.g., the <systemitem " "role=\"package\">vim</systemitem> source package) or to make several small " "packages instead of a big one (e.g., so the user can install only the subset " "needed, and thus save some disk space)." msgstr "" "Ein einzelnes Quellpaket wird oft mehrere Binärpakete erstellen, entweder um " "mehrere Geschmacksrichtungen der gleichen Software bereitzustellen (z.B. das " "<systemitem role=\"package\">vim</systemitem>-Quellpaket) oder um mehrere " "kleine Pakete anstelle eines einzelnen großen zu erzeugen (z,B. damit der " "Benutzer nur die benötigte Untermenge installieren kann und dadurch " "Plattenplatz spart)." #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:141 msgid "" "The second case can be easily managed in <filename>debian/rules</filename>. " "You just need to move the appropriate files from the build directory into " "the package's temporary trees. You can do this using " "<command>install</command> or <command>dh_install</command> from <systemitem " "role=\"package\">debhelper</systemitem>. Be sure to check the different " "permutations of the various packages, ensuring that you have the " "inter-package dependencies set right in <filename>debian/control</filename>." msgstr "" "Der zweite Fall kann einfach in <filename>debian/rules</filename> verwaltet " "werden. Sie müssen nur die entsprechenden Dateien aus dem Build-Verzeichnis " "in die entsprechenden temporären Baumstrukturen des Pakets verschieben. Dies " "können Sie mit <command>install</command> oder <command>dh_install</command> " "aus <systemitem role=\"package\">debhelper</systemitem> erledigen. Sorgen Sie " "dafür, dass Sie die unterschiedlichen Umsetzungen der verschiedenen Pakete " "prüfen, um sicherzustellen, dass Sie die wechselseitigen Abhängigkeiten " "in <filename>debian/control</filename> richtig gesetzt haben." #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:150 msgid "" "The first case is a bit more difficult since it involves multiple recompiles " "of the same software but with different configuration options. The " "<systemitem role=\"package\">vim</systemitem> source package is an example " "of how to manage this using an hand-crafted " "<filename>debian/rules</filename> file." msgstr "" "Der erste Fall ist etwas schwieriger, da er mehrmaliges Neukompilieren der " "selben Software einschließt, aber mit unterschiedlichen " "Konfigurationsoptionen. Das <systemitem " "role=\"package\">vim</systemitem>-Quellpaket ist ein Beispiel dafür, wie dies " "mit einer handgemachten <filename>debian/rules</filename>-Datei verwaltet " "wird." #. type: Content of: <chapter><section><title> #: best-pkging-practices.dbk:162 msgid "Best practices for <filename>debian/control</filename>" msgstr "Optimale Vorgehensweisen für <filename>debian/control</filename>" #. type: Content of: <chapter><section><para> #: best-pkging-practices.dbk:164 msgid "" "The following practices are relevant to the " "<filename>debian/control</filename> file. They supplement the <ulink " "url=\"&url-debian-policy;ch-binary.html#s-descriptions\">Policy on package " "descriptions</ulink>." msgstr "" "Die folgenden Vorgehensweisen sind maßgeblich für die Datei " "<filename>debian/control</filename>. Sie ergänzen die <ulink " "url=\"&url-debian-policy;ch-binary.html#s-descriptions\">Richtlinien für " "Paketbeschreibungen</ulink>." #. type: Content of: <chapter><section><para> #: best-pkging-practices.dbk:170 msgid "" "The description of the package, as defined by the corresponding field in the " "<filename>control</filename> file, contains both the package synopsis and " "the long description for the package. <xref linkend=\"bpp-desc-basics\"/> " "describes common guidelines for both parts of the package description. " "Following that, <xref linkend=\"bpp-pkg-synopsis\"/> provides guidelines " "specific to the synopsis, and <xref linkend=\"bpp-pkg-desc\"/> contains " "guidelines specific to the description." msgstr "" "Die Beschreibung des Pakets, wie sie durch das entsprechende Feld in der " "Datei <filename>control</filename> definiert wird, enthält sowohl die " "Paketübersicht, als auch die ausführliche Beschreibung des Pakets. <xref " "linkend=\"bpp-desc-basics\"/> beschreibt übliche Richtlinien für beide Teile " "der Paketbeschreibung. Diesen folgend stellt <xref " "linkend=\"bpp-pkg-synopsis\"/> Richtlinien speziell für die Übersicht bereit " "und <xref linkend=\"bpp-pkg-desc\"/> enthält spezielle Richtlinien für die " "Beschreibung." #. type: Content of: <chapter><section><section><title> #: best-pkging-practices.dbk:179 msgid "General guidelines for package descriptions" msgstr "Allgemeine Richtlinien für Paketbeschreibungen" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:181 msgid "" "The package description should be written for the average likely user, the " "average person who will use and benefit from the package. For instance, " "development packages are for developers, and can be technical in their " "language. More general-purpose applications, such as editors, should be " "written for a less technical user." msgstr "" "Die Paketbeschreibung sollte für den erwarteten Durchschnittsanwender " "geschrieben werden, der Durchschnittsperson, die das Paket benutzt und davon " "profitiert. Entwicklungspakete sind beispielsweise für Entwickler und können " "in einer technischen Sprache verfasst werden. Anwendungen für allgemeinere " "Zwecke, wie Editoren, sollten für Anwender mit weniger technischem " "Verständnis geschrieben werden." #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:188 msgid "" "Our review of package descriptions lead us to conclude that most package " "descriptions are technical, that is, are not written to make sense for " "non-technical users. Unless your package really is only for technical " "users, this is a problem." msgstr "" "Die Durchsicht der Paketbeschreibungen mündet in der Schlussfolgerung, dass " "die meisten Paketbeschreibungen technischer Natur sind, also nicht so " "geschrieben, das sie für Anwender ohne technischen Hintergrund einen Sinn " "ergeben. Sofern Ihr Paket nicht wirklich für technikkundige Anwender ist, ist " "dies ein Problem." #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:194 msgid "" "How do you write for non-technical users? Avoid jargon. Avoid referring to " "other applications or frameworks that the user might not be familiar with — " "GNOME or KDE is fine, since users are probably familiar with these terms, " "but GTK+ is probably not. Try not to assume any knowledge at all. If you " "must use technical terms, introduce them." msgstr "" "Wie können sie für nicht technikkundige Anwender schreiben? Vermeiden Sie " "Fachsprache. Vermeiden Sie, sich auf Anwendungen und Rahmenwerke zu beziehen, " "mit denen der Anwender möglicherweise nicht vertraut ist – GNOME oder KDE " "sind in Ordnung, da Anwender wahrscheinlich mit diesen Begriffen vertraut " "sind, aber GTK+ vermutlich nicht. Versuchen Sie nicht irgendein Wissen " "vorauszusetzen, geben Sie eine Einführung." #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:201 msgid "" "Be objective. Package descriptions are not the place for advocating your " "package, no matter how much you love it. Remember that the reader may not " "care about the same things you care about." msgstr "" "Seien Sie objektiv. Paketbeschreibungen sind nicht der richtige Ort, um Ihr " "Paket zu verfechten, egal wie Sie sehr sie es mögen. Denken Sie daran, dass " "der Leser nicht die gleichen Dinge wichtig nimmt, wie Sie." #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:206 msgid "" "References to the names of any other software packages, protocol names, " "standards, or specifications should use their canonical forms, if one " "exists. For example, use X Window System, X11, or X; not X Windows, " "X-Windows, or X Window. Use GTK+, not GTK or gtk. Use GNOME, not Gnome. " "Use PostScript, not Postscript or postscript." msgstr "" "Bezüge zu Namen anderer Softwarepakete, Protokollnamen, Standards oder " "Spezifikationen sollten, falls sie existiert, in ihrer vorschriftsmäßigen " "Form verwandt werden. Benutzen Sie zum Beispiel X Window System, X11 oder X, " "nicht X Windows, X-Windows, or X Window. Benutzen Sie GTK+, nicht GTK oder " "gtk. Benutzen Sie GNOME nicht Gnome. Benutzen Sie PostScript, nicht " "Postscript oder postscript." #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:213 msgid "" "If you are having problems writing your description, you may wish to send it " "along to &email-debian-l10n-english; and request feedback." msgstr "" "Falls Sie Probleme beim Verfassen Ihrer Beschreibung haben, könnten Sie sie " "an &email-debian-l10n-english; senden und um Rückmeldung ersuchen." #. type: Content of: <chapter><section><section><title> #: best-pkging-practices.dbk:219 msgid "The package synopsis, or short description" msgstr "Die Paketübersicht oder Kurzbeschreibung" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:221 msgid "" "Policy says the synopsis line (the short description) must be concise, not " "repeating the package name, but also informative." msgstr "" "Die Richtlinie sagt, die Übersichtszeile (die Kurzbeschreibung) muss kurz " "sein, darf den Paketnamen nicht wiederholen, muss aber auch informativ sein." #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:225 # s/as/is/ msgid "" "The synopsis functions as a phrase describing the package, not a complete " "sentence, so sentential punctuation is inappropriate: it does not need extra " "capital letters or a final period (full stop). It should also omit any " "initial indefinite or definite article — \"a\", \"an\", or \"the\". Thus for " "instance:" msgstr "" "Die Übersichtsfunktionen ist ein Ausdruck, der das Paket beschreibt, kein " "kompletter Satz, daher ist Zeichensetzung unangebracht: Es wird weder eine " "besondere Großschreibung noch ein abschließender Punkt benötigt. Außerdem " "sollten jegliche bestimmten und unbestimmten Artikel am Anfang weggelassen " "werden – »a«, »an« oder »the«. Deshalb zum Beispiel:" #. type: Content of: <chapter><section><section><screen> #: best-pkging-practices.dbk:231 #, no-wrap msgid "" "Package: libeg0\n" "Description: exemplification support library\n" msgstr "" "Package: libeg0\n" "Description: exemplification support library\n" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:235 msgid "" "Technically this is a noun phrase minus articles, as opposed to a verb " "phrase. A good heuristic is that it should be possible to substitute the " "package <replaceable>name</replaceable> and " "<replaceable>synopsis</replaceable> into this formula:" msgstr "" "Technisch gesehen ist dies eine Nominalphrase im Gegensatz zu einer " "Verbalphrase. Eine gute Entscheidungsregel ist, dass es möglich sein sollte, " "den Paket-<replaceable>Namen</replaceable> und die " "<replaceable>Übersicht</replaceable> in diesem Schema zu ersetzen:" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:240 msgid "" "The package <replaceable>name</replaceable> provides {a,an,the,some} " "<replaceable>synopsis</replaceable>." msgstr "" "The package <replaceable>Name</replaceable> provides {a,an,the,some} " "<replaceable>Übersicht</replaceable>." #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:244 msgid "" "Sets of related packages may use an alternative scheme that divides the " "synopsis into two parts, the first a description of the whole suite and the " "second a summary of the package's role within it:" msgstr "" "Zusammenstellungen verwandter Pakete können ein alternatives Schema benutzen, " "das die Übersicht in zwei Teile unterteilt, als erstes eine Beschreibung der " "ganzen Suite und als zweites eine Zusammenfassung der Rolle, die das Paket " "darin spielt:" #. type: Content of: <chapter><section><section><screen> #: best-pkging-practices.dbk:249 #, no-wrap msgid "" "Package: eg-tools\n" "Description: simple exemplification system (utilities)\n" "\t\t\t \n" "Package: eg-doc\n" "Description: simple exemplification system - documentation\n" msgstr "" "Package: eg-tools\n" "Description: simple exemplification system (utilities)\n" "\t\t\t \n" "Package: eg-doc\n" "Description: simple exemplification system - documentation\n" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:256 msgid "" "These synopses follow a modified formula. Where a package " "\"<replaceable>name</replaceable>\" has a synopsis " "\"<replaceable>suite</replaceable> (<replaceable>role</replaceable>)\" or " "\"<replaceable>suite</replaceable> - <replaceable>role</replaceable>\", the " "elements should be phrased so that they fit into the formula:" msgstr "" "Diese Übersicht folgt einem geänderten Schema. Wo ein Paket " "»<replaceable>Name</replaceable>« die Übersicht " "»<replaceable>Suite</replaceable> (<replaceable>Rolle</replaceable>)« oder " "»<replaceable>Suite</replaceable> - <replaceable>Rolle</replaceable>« hat, " "sollten die Elemente so ausgedrückt werden, dass sie in dieses Schema passen:" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:263 msgid "" "The package <replaceable>name</replaceable> provides {a,an,the} " "<replaceable>role</replaceable> for the <replaceable>suite</replaceable>." msgstr "" "The package <replaceable>name</replaceable> provides {a,an,the} " "<replaceable>role</replaceable> for the <replaceable>suite</replaceable>." #. type: Content of: <chapter><section><section><title> #: best-pkging-practices.dbk:269 msgid "The long description" msgstr "Die ausführliche Beschreibung" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:271 msgid "" "The long description is the primary information available to the user about " "a package before they install it. It should provide all the information " "needed to let the user decide whether to install the package. Assume that " "the user has already read the package synopsis." msgstr "" "Die ausführliche Beschreibung ist die wichtigste für den Benutzer verfügbare " "Information über ein Paket, bevor er es installiert. Sie sollte alle nötigen " "Informationen bereitstellen, damit der Anwender entscheiden kann, ob er das " "Paket installiert. Es ist anzunehmen, dass der Benutzer bereits die " "Paketübersicht gelesen hat." #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:277 msgid "The long description should consist of full and complete sentences." msgstr "Die ausführliche Beschreibung sollte aus vollständigen Sätzen bestehen." #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:280 msgid "" "The first paragraph of the long description should answer the following " "questions: what does the package do? what task does it help the user " "accomplish? It is important to describe this in a non-technical way, unless " "of course the audience for the package is necessarily technical." msgstr "" "Der erste Absatz der ausführlichen Beschreibung sollte die folgenden Fragen " "beantworten: Was tut das Paket? Bei welchen Aufgaben hilft es dem Anwender? " "Es ist wichtig dies auf eine nicht technische Weise zu beschreiben, sogar " "dann, wenn die Zielgruppe des Pakets notwendigerweise einen technischen " "Hintergrund hat." #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:286 msgid "" "The following paragraphs should answer the following questions: Why do I as " "a user need this package? What other features does the package have? What " "outstanding features and deficiencies are there compared to other packages " "(e.g., if you need X, use Y instead)? Is this package related to other " "packages in some way that is not handled by the package manager (e.g., this " "is the client for the foo server)?" msgstr "" "Die folgenden Absätze sollten die folgenden Fragen beantworten: Warum " "benötige ich als Benutzer dieses Paket? Welche anderen Funktionen bietet das " "Paket? Welche herausragenden Funktionen und Mängel gibt es im Vergleich zu " "anderen Paketen (z.B. falls Sie X benötigen, benutzen Sie Y)? Steht das Paket " "in einem Zusammenhang mit anderen Paketen, die nicht vom Paketmanager " "gehandhabt werden (z.B. ist dies der Client für den Foo-Server)?" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:294 msgid "" "Be careful to avoid spelling and grammar mistakes. Ensure that you " "spell-check it. Both <command>ispell</command> and " "<command>aspell</command> have special modes for checking " "<filename>debian/control</filename> files:" msgstr "" "Seien Sie vorsichtig, um Rechtschreib- und Grammatikfehler zu vermeiden. " "Sorgen Sie für eine Rechtschreibprüfung. Sowohl <command>ispell</command> als " "auch <command>aspell</command> haben spezielle Modi zur Prüfung von " "<filename>debian/control</filename>-Dateien:" #. type: Content of: <chapter><section><section><screen> #: best-pkging-practices.dbk:299 #, no-wrap msgid "ispell -d american -g debian/control\n" msgstr "ispell -d american -g debian/control\n" #. type: Content of: <chapter><section><section><screen> #: best-pkging-practices.dbk:302 #, no-wrap msgid "aspell -d en -D -c debian/control\n" msgstr "aspell -d en -D -c debian/control\n" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:305 msgid "" "Users usually expect these questions to be answered in the package " "description:" msgstr "" "Anwender erwarten normalerweise, dass diese Fragen in der Paketbeschreibung " "beantwortet werden:" #. type: Content of: <chapter><section><section><itemizedlist><listitem><para> #: best-pkging-practices.dbk:310 msgid "" "What does the package do? If it is an add-on to another package, then the " "short description of the package we are an add-on to should be put in here." msgstr "" "Was tut das Paket? Falls es eine Erweiterung eines anderen Pakets ist, dann " "sollte eines Kurzbeschreibung des Pakets, das es erweitert, hier eingefügt " "werden." #. type: Content of: <chapter><section><section><itemizedlist><listitem><para> #: best-pkging-practices.dbk:316 msgid "" "Why should I want this package? This is related to the above, but not the " "same (this is a mail user agent; this is cool, fast, interfaces with PGP and " "LDAP and IMAP, has features X, Y, and Z)." msgstr "" "Warum sollte ich dieses Paket wollen? Dies bezieht sich auf das " "vorhergehende, aber nicht das gleiche (dies ist ein Mail-Client. Er ist toll, " "schnell, hat Schnittstellen zu PGP, LDAP und IMAP, hat die Funktionen X, Y " "und Z)." #. type: Content of: <chapter><section><section><itemizedlist><listitem><para> #: best-pkging-practices.dbk:323 msgid "" "If this package should not be installed directly, but is pulled in by " "another package, this should be mentioned." msgstr "" "Falls dieses Paket nicht direkt installiert werden sollte, sondern von einem " "anderen Paket mitinstalliert wird, sollte die erwähnt werden." #. type: Content of: <chapter><section><section><itemizedlist><listitem><para> #: best-pkging-practices.dbk:329 msgid "" "If the package is <literal>experimental</literal>, or there are other " "reasons it should not be used, if there are other packages that should be " "used instead, it should be here as well." msgstr "" "Falls das Paket <literal>experimental</literal> ist oder es andere Gründe " "gibt, weshalb es nicht benutzt werden sollte und wenn es andere Pakete gibt, " "die stattdessen benutzt werden sollen, sollte dies auch hier stehen." #. type: Content of: <chapter><section><section><itemizedlist><listitem><para> #: best-pkging-practices.dbk:336 msgid "" "How is this package different from the competition? Is it a better " "implementation? more features? different features? Why should I choose this " "package." msgstr "" "Was unterscheidet dieses Paket von der Konkurrenz? Ist es eine bessere " "Implementierung? Mehr Funktionen? Andere Funktionen? Warum sollte die Wahl " "auf dieses Paket fallen?" #. type: Content of: <chapter><section><section><title> #: best-pkging-practices.dbk:349 msgid "Upstream home page" msgstr "Homepage der Originalautoren" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:351 msgid "" "We recommend that you add the URL for the package's home page in the " "<literal>Homepage</literal> field of the <literal>Source</literal> section " "in <filename>debian/control</filename>. Adding this information in the " "package description itself is considered deprecated." msgstr "" "Es wird empfohlen, dass Sie die URL der Homepage des Pakets in das Feld " "<literal>Homepage</literal> im Abschnitt <literal>Source</literal> von " "<filename>debian/control</filename> hinzufügen. Diese Information in die " "Paketbeschreibung selbst einzutragen, wird als missbilligt angesehen." #. type: Content of: <chapter><section><section><title> #: best-pkging-practices.dbk:359 msgid "Version Control System location" msgstr "Ort des Versionsverwaltungssystems" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:361 msgid "" "There are additional fields for the location of the Version Control System " "in <filename>debian/control</filename>." msgstr "" "Es gibt zusätzliche Felder für den Ort des Versionsverwaltungssystems in " "<filename>debian/control</filename>." #. type: Content of: <chapter><section><section><section><title> #: best-pkging-practices.dbk:365 msgid "Vcs-Browser" msgstr "Vcs-Browser" #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:367 msgid "" "Value of this field should be a <literal>http://</literal> URL pointing to a " "web-browsable copy of the Version Control System repository used to maintain " "the given package, if available." msgstr "" "Der Wert dieses Feldes sollte eine <literal>http://</literal>-URL sein, die " "auf eine via Web durchstöberbare Kopie des Versionsverwaltungssystems-Depots " "verweist, das benutzt wird, um das angegebene Paket zu verwalten, falls " "verfügbar." #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:372 msgid "" "The information is meant to be useful for the final user, willing to browse " "the latest work done on the package (e.g. when looking for the patch fixing " "a bug tagged as <literal>pending</literal> in the bug tracking system)." msgstr "" "Die Information ist dazu gedacht, dem Endanwender zu nutzen, der gewillt ist, " "die letzte am Paket geleistete Arbeit zu durchstöbern (z.B. wenn nach einem " "Patch gesucht wird, der einen Fehler behebt, der in der Fehlerdatenbank als " "<literal>pending</literal> gekennzeichnet ist)." #. type: Content of: <chapter><section><section><section><title> #: best-pkging-practices.dbk:379 msgid "Vcs-*" msgstr "Vcs-*" #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:381 msgid "" "Value of this field should be a string identifying unequivocally the " "location of the Version Control System repository used to maintain the given " "package, if available. <literal>*</literal> identify the Version Control " "System; currently the following systems are supported by the package " "tracking system: <literal>arch</literal>, <literal>bzr</literal> (Bazaar), " "<literal>cvs</literal>, <literal>darcs</literal>, <literal>git</literal>, " "<literal>hg</literal> (Mercurial), <literal>mtn</literal> (Monotone), " "<literal>svn</literal> (Subversion). It is allowed to specify different VCS " "fields for the same package: they will all be shown in the PTS web " "interface." msgstr "" "Der Wert dieses Feldes sollte eine Zeichenkette sein, die den Ort des " "Versionsverwaltungssystem-Depots eindeutig identifiziert, das zur Verwaltung " "des angegebenen Pakets benutzt wird, falls verfügbar. <literal>*</literal> " "identifiziert das Versionsverwaltungssystem. Aktuell werden die folgenden vom " "Paketverfolgungssystem unterstützt: <literal>arch</literal>, " "<literal>bzr</literal> (Bazaar), <literal>cvs</literal>, " "<literal>darcs</literal>, <literal>git</literal>, <literal>hg</literal> " "(Mercurial), <literal>mtn</literal> (Monotone) und <literal>svn</literal> " "(Subversion). Es ist erlaubt, mehrere unterschiedliche " "Versionsverwaltungssystem-Felder für das gleiche Paket anzugeben: Sie werden " "alle auf der PTS-Web-Schnittstelle angezeigt." #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:392 msgid "" "The information is meant to be useful for a user knowledgeable in the given " "Version Control System and willing to build the current version of a package " "from the VCS sources. Other uses of this information might include " "automatic building of the latest VCS version of the given package. To this " "end the location pointed to by the field should better be version agnostic " "and point to the main branch (for VCSs supporting such a concept). Also, " "the location pointed to should be accessible to the final user; fulfilling " "this requirement might imply pointing to an anonymous access of the " "repository instead of pointing to an SSH-accessible version of the same." msgstr "" "Die Information ist für Benutzer bestimmt, die im gegebenen " "Versionsverwaltungssystem sachkundig sind und bereit, die aktuelle Version " "des Pakets aus den VCS-Quellen zu erstellen. Andere Nutzungen dieser " "Information könnten das automatische Erstellen der letzen VCS-Version des " "Pakets umfassen. Dazu sollte der vom Feld angegebene Ort, die Version nicht " "kennen und auf den Hauptzweig zeigen (bei Versionsverwaltungssystemen, die " "dieses Konzept unterstützen). Außerdem sollte der Endanwender auf den Ort, " "auf den verwiesen wird, zugreifen können. Die Erfüllung dieser Anforderungen " "könnte einen anonymen Zugriff voraussetzen, statt auf eine Version davon zu " "verweisen, auf die über SSH zugegriffen wird." #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:403 msgid "" "In the following example, an instance of the field for a Subversion " "repository of the <systemitem role=\"package\">vim</systemitem> package is " "shown. Note how the URL is in the <literal>svn://</literal> scheme (instead " "of <literal>svn+ssh://</literal>) and how it points to the " "<filename>trunk/</filename> branch. The use of the " "<literal>Vcs-Browser</literal> and <literal>Homepage</literal> fields " "described above is also shown." msgstr "" "Im folgenden Beispiel wird ein Fall von einem Feld eines Subversions-Depots " "des Pakets <systemitem role=\"package\">vim</systemitem> gezeigt. Beachten " "Sie, wie die URL im <literal>svn://</literal>-Schema aufgebaut ist (im " "Gegensatz zu <literal>svn+ssh://</literal>) und wie sie auf den Zweig " "<filename>trunk/</filename> zeigt. Außerdem wird die Benutzung der Felder " "<literal>Vcs-Browser</literal> und <literal>Homepage</literal>, wie oben " "beschrieben, ebenfalls gezeigt." #. type: Content of: <chapter><section><section><section><screen> #: best-pkging-practices.dbk:412 #, no-wrap msgid "" " Source: vim\n" " Section: editors\n" " Priority: optional\n" " <snip>\n" " Vcs-Svn: svn://svn.debian.org/svn/pkg-vim/trunk/packages/vim\n" " Vcs-Browser: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim\n" " Homepage: http://www.vim.org\n" msgstr "" " Source: vim\n" " Section: editors\n" " Priority: optional\n" " <snip>\n" " Vcs-Svn: svn://svn.debian.org/svn/pkg-vim/trunk/packages/vim\n" " Vcs-Browser: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim\n" " Homepage: http://www.vim.org\n" #. type: Content of: <chapter><section><title> #: best-pkging-practices.dbk:427 msgid "Best practices for <filename>debian/changelog</filename>" msgstr "Optimale Vorgehensweisen für <filename>debian/changelog</filename>" #. type: Content of: <chapter><section><para> #: best-pkging-practices.dbk:429 msgid "" "The following practices supplement the <ulink " "url=\"&url-debian-policy;ch-docs.html#s-changelogs\">Policy on changelog " "files</ulink>." msgstr "" "Die folgenden Vorgehensweisen ergänzen die <ulink " "url=\"&url-debian-policy;ch-docs.html#s-changelogs\">Richtlinien für " "Änderungsprotokolldateien</ulink>." #. type: Content of: <chapter><section><section><title> #: best-pkging-practices.dbk:434 msgid "Writing useful changelog entries" msgstr "Verfassen nützlicher Änderungsprotokolleinträge" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:436 msgid "" "The changelog entry for a package revision documents changes in that " "revision, and only them. Concentrate on describing significant and " "user-visible changes that were made since the last version." msgstr "" "Der Änderungsprotokolleintrag einer Paketüberarbeitung dokumentiert " "Änderungen in nur dieser Überarbeitung. Der Schwerpunkt liegt auf der " "Beschreibung bedeutender und für den Anwender sichtbarer Änderungen, die seit " "der letzten Version vorgenommen wurden." #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:441 msgid "" "Focus on <emphasis>what</emphasis> was changed — who, how and when are " "usually less important. Having said that, remember to politely attribute " "people who have provided notable help in making the package (e.g., those who " "have sent in patches)." msgstr "" "Der Fokus liegt darauf, <emphasis>was</emphasis> geändert wurde – wer, wie " "und wann ist normalerweise nicht so wichtig. Erinnern Sie gleichwohl höflich " "an die Leute, die merklich Hilfe beim Erstellen des Pakets geleistet haben " "(die z.B. Patche gesandt haben)." #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:447 msgid "" "There's no need to elaborate the trivial and obvious changes. You can also " "aggregate several changes in one entry. On the other hand, don't be overly " "terse if you have undertaken a major change. Be especially clear if there " "are changes that affect the behaviour of the program. For further " "explanations, use the <filename>README.Debian</filename> file." msgstr "" "Es ist nicht nötig, die belanglosen und offensichtlichen Änderungen näher " "auszuführen. Sie können außerdem mehrere Änderungen in einem Eintrag " "zusammenfassen. Fassen Sie sich andererseits nicht zu kurz, falls Sie eine " "größere Änderung vorgenommen haben. Stellen Sie insbesondere klar, falls es " "Änderungen gibt, die das Verhalten des Programms ändern. Benutzen Sie für " "weitere Erklärungen die Datei <filename>README.Debian</filename>." #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:454 msgid "" "Use common English so that the majority of readers can comprehend it. Avoid " "abbreviations, tech-speak and jargon when explaining changes that close " "bugs, especially for bugs filed by users that did not strike you as " "particularly technically savvy. Be polite, don't swear." msgstr "" "Benutzen Sie geläufiges Englisch, so dass die Mehrheit der Leser es begreifen " "kann. Vermeiden Sie Abkürzungen, technische Begriffe und Fachsprache, wenn " "Sie Änderungen erklären, die Fehlerberichte schließen, insbesondere bei " "Fehlern, die von Anwendern eingereicht wurden, die Ihnen als technisch " "unerfahren aufgefallen sind. Seien Sie höflich, fluchen Sie nicht." #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:460 msgid "" "It is sometimes desirable to prefix changelog entries with the names of the " "files that were changed. However, there's no need to explicitly list each " "and every last one of the changed files, especially if the change was small " "or repetitive. You may use wildcards." msgstr "" "Manchmal ist es wünschenswert, den Änderungsprotokolleinträgen die Namen der " "Dateien voranzustellen, die geändert wurden. Es ist jedoch nicht nötig, " "explizit jede einzelne geänderte Datei aufzuführen, insbesondere dann nicht, " "wenn die Änderung klein oder wiederholend war. Sie können Platzhalter " "verwenden." #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:466 msgid "" "When referring to bugs, don't assume anything. Say what the problem was, " "how it was fixed, and append the closes: #nnnnn string. See <xref " "linkend=\"upload-bugfix\"/> for more information." msgstr "" "Treffen Sie keine Annahmen, wenn Sie sich auf Fehler beziehen. Sagen Sie, " "welches Problem vorlag, wie es behoben wurde und hängen Sie die Zeichenkette " "»closes: #nnnnn« an. Weitere Informatioenn erhalten Sie unter <xref " "linkend=\"upload-bugfix\"/>." #. type: Content of: <chapter><section><section><title> #: best-pkging-practices.dbk:473 msgid "Common misconceptions about changelog entries" msgstr "Häufige Missverständnisse über Änderungsprotokolleinträge" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:475 msgid "" "The changelog entries should <emphasis role=\"strong\">not</emphasis> " "document generic packaging issues (Hey, if you're looking for foo.conf, it's " "in /etc/blah/.), since administrators and users are supposed to be at least " "remotely acquainted with how such things are generally arranged on Debian " "systems. Do, however, mention if you change the location of a configuration " "file." msgstr "" "Die Änderungsprotokolleinträge sollten <emphasis " "role=\"strong\">keine</emphasis> allgemeinen Paketierungsthemen dokumentieren " "(Hey, falls Sie die Foo.conf suchen, die ist in /etc/blah/.), da von " "Administratoren und Anwendern angenommen wird, dass sie zumindest entfernt " "damit vertraut sind, wie solche Dinge im Allgemeinen auf Debian-Systemen " "eingerichtet sind. Erwähnen Sie jedoch, wenn Sie den Ort einer " "Konfigurationsdatei ändern." #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:483 msgid "" "The only bugs closed with a changelog entry should be those that are " "actually fixed in the same package revision. Closing unrelated bugs in the " "changelog is bad practice. See <xref linkend=\"upload-bugfix\"/>." msgstr "" "Die einzigen Fehler, die mit einem Änderungsprotokolleintrag geschlossen " "werden, sollten Fehler sein, die tatsächlich in der gleichen Überarbeitung " "des Pakets behoben werden. Das Schließen von Fehlern ohne Bezug dazu, ist " "eine falsche Vorgehensweise. Siehe <xref linkend=\"upload-bugfix\"/>." #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:488 msgid "" "The changelog entries should <emphasis role=\"strong\">not</emphasis> be " "used for random discussion with bug reporters (I don't see segfaults when " "starting foo with option bar; send in more info), general statements on " "life, the universe and everything (sorry this upload took me so long, but I " "caught the flu), or pleas for help (the bug list on this package is huge, " "please lend me a hand). Such things usually won't be noticed by their " "target audience, but may annoy people who wish to read information about " "actual changes in the package. See <xref linkend=\"bug-answering\"/> for " "more information on how to use the bug tracking system." msgstr "" "Die Änderungsprotokolleinträge sollten <emphasis " "role=\"strong\">nicht</emphasis> für zufällige Diskussionen mit Leuten, die " "Fehler melden (Ich kann keine Schutzverletzungen sehen, wenn ich Foo mit der " "Option Bar starte. Senden Sie weitere Informationen.), allgemeine Äußerungen " "über das Leben, das Universum und alles mögliche (Entschuldigung, dass der " "Upload so lange brauchte, aber ich hatte die Grippe.) oder Hilfeersuchen (Die " "Fehlerliste für dieses Paket ist riesig, bitte packen Sie mit an) benutzt " "werden. Solche Dinge werden normalerweise nicht von Ihrer Zielgruppe bemerkt, " "könnten aber viele Leute stören, die Informationen über tatsächliche " "Änderungen am Paket lesen möchten. Weitere Informationen über die Benutzung " "der Fehlerdatenbank finden Sie unter <xref linkend=\"bug-answering\"/>." #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:499 msgid "" "It is an old tradition to acknowledge bugs fixed in non-maintainer uploads " "in the first changelog entry of the proper maintainer upload. As we have " "version tracking now, it is enough to keep the NMUed changelog entries and " "just mention this fact in your own changelog entry." msgstr "" "Es ist ein alter Brauch im ersten regulären Upload des Paketbetreuers das " "Beheben von Fehlern durch Non-Maintainer-Uploads zu bestätigen. Da Debian nun " "über eine Versionsverwaltung verfügt, reicht es aus, die " "NMU-Änderungsprotokolleinträge aufzubewahren und diese Tatsache nur in Ihrem " "eigenen Änderungsprotokolleintrag zu erwähnen." #. type: Content of: <chapter><section><section><title> #: best-pkging-practices.dbk:507 msgid "Common errors in changelog entries" msgstr "Häufige Fehler in Änderungsprotokolleinträgen" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:509 msgid "" "The following examples demonstrate some common errors or examples of bad " "style in changelog entries." msgstr "" "Die folgenden Beispiele demonstrieren einige häufige Fehler oder Beispiele " "für schlechten Stil in Änderungsprotokolleinträgen." #. type: Content of: <chapter><section><section><screen> #: best-pkging-practices.dbk:513 #, no-wrap # FIXME Die folgenden Einträge gehören nicht in die POT-Schablone msgid " * Fixed all outstanding bugs.\n" msgstr " * Fixed all outstanding bugs.\n" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:516 msgid "This doesn't tell readers anything too useful, obviously." msgstr "Dies teilt den Lesern offensichtlich nichts Nützliches mit." #. type: Content of: <chapter><section><section><screen> #: best-pkging-practices.dbk:519 #, no-wrap msgid " * Applied patch from Jane Random.\n" msgstr " * Applied patch from Jane Random.\n" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:522 msgid "What was the patch about?" msgstr "Was war das für ein Patch?" #. type: Content of: <chapter><section><section><screen> #: best-pkging-practices.dbk:525 #, no-wrap msgid " * Late night install target overhaul.\n" msgstr " * Late night install target overhaul.\n" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:528 msgid "" "Overhaul which accomplished what? Is the mention of late night supposed to " "remind us that we shouldn't trust that code?" msgstr "" "Welche Reparatur wurde ausgeführt? Soll die Erwähnung der späten Nacht daran " "erinnern, dass man dem Code nicht trauen sollte?" #. type: Content of: <chapter><section><section><screen> #: best-pkging-practices.dbk:532 #, no-wrap msgid " * Fix vsync FU w/ ancient CRTs.\n" msgstr " * Fix vsync FU w/ ancient CRTs.\n" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:535 msgid "" "Too many acronyms, and it's not overly clear what the, uh, fsckup (oops, a " "curse word!) was actually about, or how it was fixed." msgstr "" "Zu viele Abkürzungen und es ist nicht klar, wovon der äh ... Mist (Hoppla, " "ein Schimpfwort) tatsächlich handelt oder wie er repariert wurde." #. type: Content of: <chapter><section><section><screen> #: best-pkging-practices.dbk:539 #, no-wrap msgid " * This is not a bug, closes: #nnnnnn.\n" msgstr " * This is not a bug, closes: #nnnnnn.\n" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:542 msgid "" "First of all, there's absolutely no need to upload the package to convey " "this information; instead, use the bug tracking system. Secondly, there's " "no explanation as to why the report is not a bug." msgstr "" "Erst einmal ist es absolut unnötig, das Paket hochzuladen, um diese " "Information zu übermitteln. Benutzen Sie stattdessen die Fehlerdatenbank. " "Zweitens fehlt die Erklärung, warum dieser Bericht kein Fehler ist." #. type: Content of: <chapter><section><section><screen> #: best-pkging-practices.dbk:547 #, no-wrap msgid " * Has been fixed for ages, but I forgot to close; closes: #54321.\n" msgstr " * Has been fixed for ages, but I forgot to close; closes: #54321.\n" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:550 msgid "" "If for some reason you didn't mention the bug number in a previous changelog " "entry, there's no problem, just close the bug normally in the BTS. There's " "no need to touch the changelog file, presuming the description of the fix is " "already in (this applies to the fixes by the upstream authors/maintainers as " "well, you don't have to track bugs that they fixed ages ago in your " "changelog)." msgstr "" "Falls Sie aus irgend einem Grund die Fehlernummer in einem früheren " "Änderungsprotokolleintrag nicht erwähnt haben, ist das kein Problem. " "Schließen Sie den Fehler einfach im BTS. Es ist nicht nötig, die " "Änderungsprotokolldatei anzurühren, vorausgesetzt, die Beschreibung der " "Fehlerbehebung ist bereits darin enthalten (Dies gilt auch für Reparaturen " "durch die Originalautoren/-Betreuer. Sie müssen keine Fehler verfolgen, die " "diese bereits vor Jahren in Ihrem Änderungsprotokoll behoben haben)." #. type: Content of: <chapter><section><section><screen> #: best-pkging-practices.dbk:557 #, no-wrap msgid " * Closes: #12345, #12346, #15432\n" msgstr " * Closes: #12345, #12346, #15432\n" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:560 msgid "" "Where's the description? If you can't think of a descriptive message, start " "by inserting the title of each different bug." msgstr "" "Wo ist die Beschreibung? Falls Ihnen keine aussagekräftige Nachricht " "einfällt, beginnen Sie, die Titel der verschiedenen Fehler einzufügen." #. type: Content of: <chapter><section><section><title> #: best-pkging-practices.dbk:566 msgid "Supplementing changelogs with <filename>NEWS.Debian</filename> files" msgstr "" "Änderungsprotokolle mit <filename>NEWS.Debian</filename>-Dateien ergänzen" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:568 msgid "" "Important news about changes in a package can also be put in " "<filename>NEWS.Debian</filename> files. The news will be displayed by tools " "like <systemitem role=\"package\">apt-listchanges</systemitem>, before all " "the rest of the changelogs. This is the preferred means to let the user " "know about significant changes in a package. It is better than using " "<systemitem role=\"package\">debconf</systemitem> notes since it is less " "annoying and the user can go back and refer to the " "<filename>NEWS.Debian</filename> file after the install. And it's better " "than listing major changes in <filename>README.Debian</filename>, since the " "user can easily miss such notes." msgstr "" "Wichtige Nachrichten über Änderungen in einem Paket können auch in die " "<filename>NEWS.Debian</filename>-Dateien geschrieben werden. Die Nachrichten " "werden durch Werkzeuge wie <systemitem " "role=\"package\">apt-listchanges</systemitem> vor dem ganzen Rest des " "Änderungsprotokolls angezeigt. Dies ist das vorzugsweise Mittel, dem Anwender " "bedeutende Änderungen in einem Paket mitzuteilen. Es ist besser, als " "<systemitem role=\"package\">debconf</systemitem>-Notizen zu benutzen, da es " "weniger stört und der Anwender nach der Installation zurückgehen und in der " "<filename>NEWS.Debian</filename>-Datei nachschlagen kann. Es ist auch besser, " "als die Hauptänderungen in <filename>README.Debian</filename> aufzuführen, da " "der Anwender solche Notizen leicht übersehen kann." #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:579 msgid "" "The file format is the same as a debian changelog file, but leave off the " "asterisks and describe each news item with a full paragraph when necessary " "rather than the more concise summaries that would go in a changelog. It's a " "good idea to run your file through <literal>dpkg-parsechangelog</literal> to " "check its formatting as it will not be automatically checked during build as " "the changelog is. Here is an example of a real " "<filename>NEWS.Debian</filename> file:" msgstr "" "Das Dateiformat entspricht dem des Änderungsprotokolls, die Sternchen werden " "allerdings weggelassen und jedes Nachrichtenelement wird, wenn nötig, mit " "einem vollständigen Satz beschrieben, statt der kurz gefassten " "Zusammenfassungen, die in ein Änderungsprotokoll einfließen. Sie sind gut " "beraten, Ihre Datei durch <literal>dpkg-parsechangelog</literal> laufen zu " "lassen, um ihre Formatierung zu prüfen, da sie nicht automatisch während des " "Builds getestet wird, so wie dies beim Änderungsprotokoll getan wird. Hier " "nun ein Beispiel einer echten <filename>NEWS.Debian</filename>-Datei:" #. type: Content of: <chapter><section><section><screen> #: best-pkging-practices.dbk:588 #, no-wrap msgid "" "cron (3.0pl1-74) unstable; urgency=low\n" "\n" " The checksecurity script is no longer included with the cron package:\n" " it now has its own package, checksecurity. If you liked the\n" " functionality provided with that script, please install the new\n" " package.\n" "\n" " -- Steve Greenland <stevegr@debian.org> Sat, 6 Sep 2003 17:15:03 " "-0500\n" msgstr "" "cron (3.0pl1-74) unstable; urgency=low\n" "\n" " The checksecurity script is no longer included with the cron package:\n" " it now has its own package, checksecurity. If you liked the\n" " functionality provided with that script, please install the new\n" " package.\n" "\n" " -- Steve Greenland <stevegr@debian.org> Sat, 6 Sep 2003 17:15:03 " "-0500\n" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:598 msgid "" "The <filename>NEWS.Debian</filename> file is installed as " "<filename>/usr/share/doc/<replaceable>package</replaceable>/NEWS.Debian.gz</filename>. " "It is compressed, and always has that name even in Debian native packages. " "If you use <literal>debhelper</literal>, " "<literal>dh_installchangelogs</literal> will install " "<filename>debian/NEWS</filename> files for you." msgstr "" "Die Datei <filename>NEWS.Debian</filename> wird als <filename>/usr/share/doc/" "<replaceable>Paket</replaceable>/NEWS.Debian.gz</filename> installiert. Sie " "ist komprimiert und hat immer diesen Namen, auch in nativen Debian-Paketen. " "Falls Sie <literal>debhelper</literal> benutzen, wird " "<literal>dh_installchangelogs</literal> die " "<filename>debian/NEWS</filename>-Dateien für Sie installieren." #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:605 msgid "" "Unlike changelog files, you need not update <filename>NEWS.Debian</filename> " "files with every release. Only update them if you have something " "particularly newsworthy that user should know about. If you have no news at " "all, there's no need to ship a <filename>NEWS.Debian</filename> file in your " "package. No news is good news!" msgstr "" "Anders als Änderungsprotokolldateien, müssen Sie die " "<filename>debian/NEWS</filename>-Dateien nicht bei jeder Veröffentlichung " "aktualisieren. Aktualisieren Sie sie nur, wenn Sie etwas besonders " "berichtenswertes haben, worüber der Anwender Bescheid wissen sollte. Falls " "Sie überhaupt keine Nachrichten haben, ist es nicht nötig, Ihrem Paket eine " "<filename>debian/NEWS</filename>-Datei mitzugeben. Keine Nachricht ist eine " "gute Nachricht!" #. type: Content of: <chapter><section><title> #: best-pkging-practices.dbk:627 msgid "Best practices for maintainer scripts" msgstr "Optimale Vorgehensweisen für Betreuerskripte" #. type: Content of: <chapter><section><para> #: best-pkging-practices.dbk:629 msgid "" "Maintainer scripts include the files <filename>debian/postinst</filename>, " "<filename>debian/preinst</filename>, <filename>debian/prerm</filename> and " "<filename>debian/postrm</filename>. These scripts take care of any package " "installation or deinstallation setup which isn't handled merely by the " "creation or removal of files and directories. The following instructions " "supplement the <ulink url=\"&url-debian-policy;\">Debian Policy</ulink>." msgstr "" "Betreuerskripte beinhalten die Dateien <filename>debian/postinst</filename>, " "<filename>debian/preinst</filename>, <filename>debian/prerm</filename> und " "<filename>debian/postrm</filename>. Diese Skripte geben auf jede " "Installations- oder Deinstallationseinrichtung des Pakets acht, die bloß " "durch Erstellen und Entfernen von Dateien und Verzeichnissen gehandhabt wird. " "Die folgenden Anweisungen ergänzen die <ulink " "url=\"&url-debian-policy;\">Debian Policy</ulink>." #. type: Content of: <chapter><section><para> #: best-pkging-practices.dbk:637 msgid "" "Maintainer scripts must be idempotent. That means that you need to make " "sure nothing bad will happen if the script is called twice where it would " "usually be called once." msgstr "" "Betreuerskripte müssen Idempotent sein. Dies bedeuted, dass Sie sicherstellen " "müssen, dass nichts Schlimmes passiert, wenn das Skript zweimal aufgerufen " "wird, während es normalerweise einmal aufgerufen würde." #. type: Content of: <chapter><section><para> #: best-pkging-practices.dbk:642 msgid "" "Standard input and output may be redirected (e.g. into pipes) for logging " "purposes, so don't rely on them being a tty." msgstr "" "Standardein- und -ausgabe könnten zu Protokollierungszwecken umgeleitet " "werden (z.B. in Pipes), verlassen Sie sich daher nicht darauf, dass sie ein " "Terminal sind." #. type: Content of: <chapter><section><para> #: best-pkging-practices.dbk:646 msgid "" "All prompting or interactive configuration should be kept to a minimum. " "When it is necessary, you should use the <systemitem " "role=\"package\">debconf</systemitem> package for the interface. Remember " "that prompting in any case can only be in the <literal>configure</literal> " "stage of the <filename>postinst</filename> script." msgstr "" "Jegliche Bedienerführung oder interaktive Konfiguration sollte so gering wie " "möglich gehalten werden. Wenn es nötig ist, sollten Sie das Paket " "<systemitem role=\"package\">debconf</systemitem> für die Schnittstelle " "benutzen. Denken Sie daran, dass diese Bedienerführung nur in der " "<literal>configure</literal>-Stufe des <filename>postinst</filename>-Skripts " "stattfinden kann." #. type: Content of: <chapter><section><para> #: best-pkging-practices.dbk:653 msgid "" "Keep the maintainer scripts as simple as possible. We suggest you use pure " "POSIX shell scripts. Remember, if you do need any bash features, the " "maintainer script must have a bash shebang line. POSIX shell or Bash are " "preferred to Perl, since they enable <systemitem " "role=\"package\">debhelper</systemitem> to easily add bits to the scripts." msgstr "" "Halten Sie die Betreuerskripte so einfach wie möglich. Es wird empfohlen, nur " "reine POSIX-Shell-Skripte zu benutzen. Falls Sie irgendwelche Bash-Funktionen " "benötigen, vergessen Sie nicht, dass das Betreuerskript eine Shebang-Zeile " "haben muss. POSIX-Shell oder Bash werden für Perl bevorzugt, da sie " "<systemitem role=\"package\">debhelper</systemitem> ermöglichen, den Skripten " "einfach Teile hinzuzufügen." #. type: Content of: <chapter><section><para> #: best-pkging-practices.dbk:660 msgid "" "If you change your maintainer scripts, be sure to test package removal, " "double installation, and purging. Be sure that a purged package is " "completely gone, that is, it must remove any files created, directly or " "indirectly, in any maintainer script." msgstr "" "Falls Sie Ihre Betreuerskripte ändern, stellen Sie sicher, dass Sie das " "Entfernen des Pakets, die mehrmalige Installation und das vollständige " "Entfernen testen. Vergewissern Sie sich, dass nach dem vollständigen " "Entfernen des Pakets alles komplett weg ist, sprich, es muss jede erzeugte " "Datei entfernen, die direkt oder indirekt in irgendeinem Betreuerskript " "erstellt wurde." #. type: Content of: <chapter><section><para> #: best-pkging-practices.dbk:666 msgid "" "If you need to check for the existence of a command, you should use " "something like" msgstr "" "Falls Sie prüfen möchten, ob ein Befehl existiert, sollten Sie so etwas " "benutzen:" #. type: Content of: <chapter><section><programlisting> #: best-pkging-practices.dbk:669 #, no-wrap msgid "if [ -x /usr/sbin/install-docs ]; then ..." msgstr "if [ -x /usr/sbin/install-docs ]; then ..." #. type: Content of: <chapter><section><para> #: best-pkging-practices.dbk:671 msgid "" "If you don't wish to hard-code the path of a command in your maintainer " "script, the following POSIX-compliant shell function may help:" msgstr "" "Falls Sie nicht dem Pfad eines Befehls fest ins Betreuerskript schreiben " "möchten, könnte die folgende POSIX-konforme Shell-Funktion helfen:" #. type: Content of: <chapter><section><para> #: best-pkging-practices.dbk:676 msgid "" "You can use this function to search <varname>$PATH</varname> for a command " "name, passed as an argument. It returns true (zero) if the command was " "found, and false if not. This is really the most portable way, since " "<literal>command -v</literal>, <command>type</command>, and " "<command>which</command> are not POSIX." msgstr "" "Sie können diese Funktion benutzen, um <varname>$PATH</varname> nach einem " "Befehlsnamen zu durchsuchen, der als Argument übergegeben wird. Sie gibt " "»true« (null) zurück, falls der Befehl gefunden wurde und »false«, falls " "nicht. Dies ist wirklich die portierbarste Möglichkeit, da <literal>command " "-v</literal>, <command>type</command> und <command>which</command> nicht " "POSIX-konform sind." #. type: Content of: <chapter><section><para> #: best-pkging-practices.dbk:683 msgid "" "While <command>which</command> is an acceptable alternative, since it is " "from the required <systemitem role=\"package\">debianutils</systemitem> " "package, it's not on the root partition. That is, it's in " "<filename>/usr/bin</filename> rather than <filename>/bin</filename>, so one " "can't use it in scripts which are run before the <filename>/usr</filename> " "partition is mounted. Most scripts won't have this problem, though." msgstr "" "Obwohl <command>which</command> eine akzeptable Alternative ist, da es aus " "dem benötigten Paket <systemitem role=\"package\">debianutils</systemitem> " "stammt, liegt es nicht auf der Wurzel-Partition. Zumindest liegt es eher in " "<filename>/usr/bin</filename> als in <filename>/bin</filename>, so dass es " "nicht in Skripten benutzt werden kann, die vor dem Einhängen von " "<filename>/usr</filename> ausgeführt werden. Dieses Problem werden allerdings " "die meisten Skripte nicht haben." #. type: Content of: <chapter><section><title> #: best-pkging-practices.dbk:693 msgid "" "Configuration management with <systemitem " "role=\"package\">debconf</systemitem>" msgstr "" "Konfigurationsverwaltung mit <systemitem role=\"package\">debconf</systemitem>" #. type: Content of: <chapter><section><para> #: best-pkging-practices.dbk:695 msgid "" "<systemitem role=\"package\">Debconf</systemitem> is a configuration " "management system which can be used by all the various packaging scripts " "(<filename>postinst</filename> mainly) to request feedback from the user " "concerning how to configure the package. Direct user interactions must now " "be avoided in favor of <systemitem role=\"package\">debconf</systemitem> " "interaction. This will enable non-interactive installations in the future." msgstr "" "<systemitem role=\"package\">Debconf</systemitem> ist ein " "Konfigurationsverwaltungssystem, das von allerlei Paketierungsskripten " "(hauptsächlich <filename>postinst</filename>) benutzt werden kann, um " "Rückmeldungen von Anwendern betreffend der Paketkonfiguration abzufragen. " "Direkte Benutzer-Interaktion muss nun zugunsten der Interaktion mit " "<systemitem role=\"package\">debconf</systemitem> vermieden werden. Dies wird " "in Zukunft nicht interaktive Installationen ermöglichen." #. type: Content of: <chapter><section><para> #: best-pkging-practices.dbk:703 msgid "" "Debconf is a great tool but it is often poorly used. Many common mistakes " "are listed in the <citerefentry> " "<refentrytitle>debconf-devel</refentrytitle> <manvolnum>7</manvolnum> " "</citerefentry> man page. It is something that you must read if you decide " "to use debconf. Also, we document some best practices here." msgstr "" "Debconf ist ein großartiges Werkzeug, aber es wird oft mangelhaft benutzt. " "Viele alltägliche Fehler sind auf der Handbuchseite <citerefentry> " "<refentrytitle>debconf-devel</refentrytitle> <manvolnum>7</manvolnum> " "</citerefentry> aufgeführt. Manchmal ist es nötig zu lesen, falls Sie sich " "entscheiden Debconf zu benutzen. Außerdem werden hier ein paar optimale " "Vorgehensweisen vorgestellt." #. type: Content of: <chapter><section><para> #: best-pkging-practices.dbk:710 msgid "" "These guidelines include some writing style and typography recommendations, " "general considerations about debconf usage as well as more specific " "recommendations for some parts of the distribution (the installation system " "for instance)." msgstr "" "Diese Richtlinien enthalten einige Schreibstil- und Typografie-Empfehlungen, " "allgemeine Betrachtungen über die Benutzung von Debconf, ebenso wie " "spezifischere Empfehlungen für einige Teile der Distribution (das " "Installationssystem besispielsweise)." #. type: Content of: <chapter><section><section><title> #: best-pkging-practices.dbk:716 msgid "Do not abuse debconf" msgstr "Missbrauchen Sie Debconf nicht" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:718 msgid "" "Since debconf appeared in Debian, it has been widely abused and several " "criticisms received by the Debian distribution come from debconf abuse with " "the need of answering a wide bunch of questions before getting any little " "thing installed." msgstr "" "Seit Debconf in Debian erschien, wurde es verbreitet missbraucht und viel von " "der Kritik, die bei der Debian-Distribution einging, rührte vom " "Debconf-Missbrauch mit der Notwendigkeit, ein großes Fragenbündel zu " "beantworten, bevor eine Kleinigkeit installiert war." #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:724 msgid "" "Keep usage notes to what they belong: the <filename>NEWS.Debian</filename>, " "or <filename>README.Debian</filename> file. Only use notes for important " "notes which may directly affect the package usability. Remember that notes " "will always block the install until confirmed or bother the user by email." msgstr "" "Behalten Sie Aufrufnotizen dort, wozu sie gehören: den Dateien " "<filename>NEWS.Debian</filename> oder <filename>README.Debian</filename>. " "Benutzen Sie nur Notizen für wichtige Anmerkungen, die direkt die " "Benutzbarkeit des Pakets beeinflussen. Bedenken Sie, dass Notizen die " "Installation immer blockieren, bis Sie bestätigt wurden oder den Anwender per " "E-Mail bleästigt haben." #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:730 msgid "" "Carefully choose the questions priorities in maintainer scripts. See " "<citerefentry> <refentrytitle>debconf-devel</refentrytitle> " "<manvolnum>7</manvolnum> </citerefentry> for details about priorities. Most " "questions should use medium and low priorities." msgstr "" "Wählen Sie die Prioritäten der Fragen in Betreuerskripten sorgfältig. " "Einzelheiten über Prioritäten finden Sie unter <citerefentry> " "<refentrytitle>debconf-devel</refentrytitle> <manvolnum>7</manvolnum> " "</citerefentry>. Die meisten Fragen sollten mittlere oder niedrige " "Prioritäten nutzen." #. type: Content of: <chapter><section><section><title> #: best-pkging-practices.dbk:738 msgid "General recommendations for authors and translators" msgstr "Allgemeine Empfehlungen für Autoren und Übersetzer" #. type: Content of: <chapter><section><section><section><title> #: best-pkging-practices.dbk:740 msgid "Write correct English" msgstr "Schreiben Sie korrektes Englisch." #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:742 msgid "" "Most Debian package maintainers are not native English speakers. So, " "writing properly phrased templates may not be easy for them." msgstr "" "Die meisten Debian-Paketbetreuer haben nicht Englisch als Muttersprache. " "Daher ist es für sie nicht einfach, korrekt formulierte Schablonen zu " "verfassen." #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:746 msgid "" "Please use (and abuse) &email-debian-l10n-english; mailing list. Have your " "templates proofread." msgstr "" "Bitte benutzen (und missbrauchen) Sie die Mailingliste " "&email-debian-l10n-english;. Lassen Sie Ihre Schablonen korrekturlesen." #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:750 msgid "" "Badly written templates give a poor image of your package, of your " "work... or even of Debian itself." msgstr "" "Schlecht geschriebene Schablonen werfen ein armseliges Bild auf Ihr Paket, " "Ihre Arbeit ... oder sogar auf Debian selbst." #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:754 msgid "" "Avoid technical jargon as much as possible. If some terms sound common to " "you, they may be impossible to understand for others. If you cannot avoid " "them, try to explain them (use the extended description). When doing so, " "try to balance between verbosity and simplicity." msgstr "" "Vermeiden Sie soweit möglich technische Fachsprache. Wenn sich einige " "Begriffe für Sie vertraut anhören, könnten sie für andere unverständlich " "sein. Falls sie sich nicht vermeiden lassen, versuchen Sie sie zu erklären " "(benutzen Sie die längere Beschreibung). Versuchen Sie dabei, zwischen " "Aussagekraft und Einfachheit abzuwägen." #. type: Content of: <chapter><section><section><section><title> #: best-pkging-practices.dbk:762 msgid "Be kind to translators" msgstr "Seien sie nett zu Übersetzern" #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:764 msgid "" "Debconf templates may be translated. Debconf, along with its sister package " "<command>po-debconf</command> offers a simple framework for getting " "templates translated by translation teams or even individuals." msgstr "" "Debconf-Schablonen können übersetzt werden. Debconf bietet zusammen mit " "seinem Schwesterpaket <command>po-debconf</command> ein einfaches Gerüst, um " "Schablonen durch Übersetzer-Teams oder sogar einzelne Personen übersetzen zu " "lassen." #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:769 msgid "" "Please use gettext-based templates. Install <systemitem " "role=\"package\">po-debconf</systemitem> on your development system and read " "its documentation (<command>man po-debconf</command> is a good start)." msgstr "" "Bitte benutzen Sie Gettext-basierte Schablonen. Installieren Sie <systemitem " "role=\"package\">po-debconf</systemitem> auf Ihrem Entwicklungssystem und " "lesen Sie dessen Dokumentation (<command>man po-debconf</command> ist ein " "guter Anfang)." #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:774 msgid "" "Avoid changing templates too often. Changing templates text induces more " "work to translators which will get their translation fuzzied. A fuzzy " "translation is a string for which the original changed since it was " "translated, therefore requiring some update by a translator to be usable. " "When changes are small enough, the original translation is kept in PO files " "but marked as <literal>fuzzy</literal>." msgstr "" "Vermeiden Sie, Schablonen häufig zu ändern. Das Ändern von Schablonen führt " "zu Mehrarbeit für Übersetzer, deren Übersetzungen unvollständig werden. Eine " "unvollständige Übersetzung ist eine Zeichenkette, bei der sich seit dem " "Übersetzen das Original geändert hat und das daher eine Aktualisierung durch " "den Übersetzer benötigt. Wenn die Änderungen klein genug sind, wird die " "Originalübersetzung in den PO-Dateien beibehalten und mit " "<literal>fuzzy</literal> gekennzeichnet." #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:782 msgid "" "If you plan to do changes to your original templates, please use the " "notification system provided with the <systemitem " "role=\"package\">po-debconf</systemitem> package, namely the " "<command>podebconf-report-po</command>, to contact translators. Most active " "translators are very responsive and getting their work included along with " "your modified templates will save you additional uploads. If you use " "gettext-based templates, the translator's name and e-mail addresses are " "mentioned in the PO files headers and will be used by " "<command>podebconf-report-po</command>." msgstr "" "Falls Sie planen, Änderungen an Ihren Originalschablonen vorzunehmen, " "benutzen Sie bitte das Benachrichtigungssystem namens " "<command>podebconf-report-po</command>, das vom Paket <systemitem " "role=\"package\">po-debconf</systemitem> bereitgestellt wird, um die " "Übersetzer zu kontaktieren. Die meisten aktiven Übersetzer sind sehr " "zugänglich und Ihre Arbeit zusammen mit Ihren geänderten Schablonen " "einzubeziehen, wird Sie vor zusätzlichen Uploads bewahren. Falls Sie " "Gettext-basierte Schablonen verwenden, werden die Namen und E-Mail-Adressen " "der Übersetzer in den Kopfzeilen der PO-Dateien erwähnt und von " "<command>podebconf-report-po</command> benutzt." #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:794 msgid "A recommended use of that utility is:" msgstr "Ein empfohlene Art, das Hilfswerkzeug zu benutzen ist:" #. type: Content of: <chapter><section><section><section><programlisting> #: best-pkging-practices.dbk:796 #, no-wrap msgid "" "cd debian/po && podebconf-report-po --call --languageteam " "--withtranslators --deadline=\"+10 days\"" msgstr "" "cd debian/po && podebconf-report-po --call --languageteam " "--withtranslators --deadline=\"+10 days\"" #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:798 msgid "" "This command will first synchronize the PO and POT files in " "<filename>debian/po</filename> with the templates files listed in " "<filename>debian/po/POTFILES.in</filename>. Then, it will send a call for " "new translations, in the &email-debian-i18n; mailing list. Finally, it will " "also send a call for translation updates to the language team (mentioned in " "the <literal>Language-Team</literal> field of each PO file) as well as the " "last translator (mentioned in <literal>Last-translator</literal>)." msgstr "" "Dieser Befehl wird zuerst die PO- und POT-Dateien in " "<filename>debian/po</filename> mit dem Schablonendateien synchronisieren, die " "in <filename>debian/po/POTFILES.in</filename> aufgeführt sind. Dann wird er " "einen Aufruf für neue Übersetzungen an die Mailingliste &email-debian-i18n; " "senden. Am Schluss wird er außerdem einen Aufruf für neue Übersetzungen an " "das Sprach-Team (im Feld <literal>Language-Team</literal> jeder PO-Datei " "erwähnt) sowie den letzten Übersetzer (erwähnt in " "<literal>Last-translator</literal>) senden." #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:807 msgid "" "Giving a deadline to translators is always appreciated, so that they can " "organize their work. Please remember that some translation teams have a " "formalized translate/review process and a delay lower than 10 days is " "considered as unreasonable. A shorter delay puts too much pressure on " "translation teams and should be kept for very minor changes." msgstr "" "Es wird immer gewürdigt, wenn Sie den Übersetzern einen Abgabetermin geben, " "so dass sie ihre Arbeit organisieren können. Bitte denken Sie daran, dass " "einige Übersetzer-Teams einen formalisierten Übersetzung-/Korrekturprozess " "haben und eine Zeitspanne, die kürzer als zehn Tage ist, als unangemessen " "angesehen wird. Eine kürzere Frist übt zuviel Druck auf die Übersetzer-Teams " "aus und sollte für sehr kleine Änderungen genommen werden." #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:814 msgid "" "If in doubt, you may also contact the translation team for a given language " "(debian-l10n-xxxxx@&lists-host;), or the &email-debian-i18n; mailing list." msgstr "" "Im Zweifelsfall können Sie auch das Übersetzer-Team für eine bestimmte " "Sprache (debian-l10n-xxxxx@&lists-host;) oder die Mailingliste " "&email-debian-i18n; kontaktieren." #. type: Content of: <chapter><section><section><section><title> #: best-pkging-practices.dbk:821 msgid "Unfuzzy complete translations when correcting typos and spelling" msgstr "" "Entfernen Sie die Fuzzy-Markierungen in vollständigen Übersetzungen, wenn Sie " "Tipp- und Rechtschreibfehler korrigieren." #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:823 msgid "" "When the text of a debconf template is corrected and you are <emphasis " "role=\"strong\">sure</emphasis> that the change does <emphasis " "role=\"strong\">not</emphasis> affect translations, please be kind to " "translators and <emphasis>unfuzzy</emphasis> their translations." msgstr "" "Wenn der Text einer Debconf-Schablone korrigiert wurde und Sie <emphasis " "role=\"strong\">sicher</emphasis> sind, dass die Änderung <emphasis " "role=\"strong\">keine</emphasis> Übersetzungen beeinflusst, seien Sie so nett " "zu Übersetzern, die <emphasis>Fuzzy</emphasis>-Markierungen aus deren " "Übersetzungen zu entfernen." #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:829 msgid "" "If you don't do so, the whole template will not be translated as long as a " "translator will send you an update." msgstr "" "Falls Sie dies nicht tun, wird die ganze Schablone nicht übersetzt, bis Ihnen " "ein Übersetzer eine Aktualisierung zusendet." #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:833 msgid "" "To <emphasis>unfuzzy</emphasis> translations, you can use two methods. The " "first method does <emphasis>preventive</emphasis> search and replace actions " "in the PO files. The latter uses <command>gettext</command> utilities to " "<emphasis>unfuzzy</emphasis> strings." msgstr "" "Um aus Übersetzungen <emphasis>Fuzzy-Markierungen zu entfernen</emphasis>, " "können Sie nach zwei Methoden verfahren. Bei der ersten Methode werden " "<emphasis>präventiv</emphasis> Such- und Ersetzungsaktionen in den PO-Dateien " "durchgeführt. Letztere benutzt <command>gettext</command>-Hilfswerkzeuge, um " "aus Zeichenketten <emphasis>Fuzzy-Markierungen zu entfernen</emphasis>." #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:839 msgid "<emphasis>Preventive unfuzzy</emphasis> method:" msgstr "" "Methode <emphasis>Fuzzy-Markierungen präventiv zu entfernen</emphasis>:" #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #: best-pkging-practices.dbk:844 msgid "" "Try finding a complete translation file <emphasis " "role=\"strong\">before</emphasis> the change:" msgstr "" "Versuchen Sie eine vollständige Übersetzungsdatei <emphasis " "role=\"strong\">vor</emphasis> der Änderung zu finden:" #. type: Content of: <chapter><section><section><section><orderedlist><listitem><programlisting> #: best-pkging-practices.dbk:847 best-pkging-practices.dbk:918 #, no-wrap msgid "" "for i in debian/po/*po; do echo -n $i: ; msgfmt -o /dev/null --statistics " "$i; done" msgstr "" "for i in debian/po/*po; do echo -n $i: ; msgfmt -o /dev/null --statistics " "$i; done" #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #: best-pkging-practices.dbk:849 msgid "" "The file only showing <emphasis>translated</emphasis> items will be used as " "the reference file. If there is none (which should not happen if you take " "care to properly interact with translators), you should use the file with " "the most translated strings." msgstr "" "Die Datei, die nur <emphasis>übersetzte</emphasis> Elemente anzeigt, wird als " "Bezugsdatei benutzt. Falls es keine gibt (was nicht vorkommen sollte, falls " "Sie auf ein fachgerechtes Zusammenspiel mit Übersetzern achten), sollten Sie " "die Datei mit den meisten übersetzten Zeichenketten benutzen." #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #: best-pkging-practices.dbk:857 msgid "" "Identify the needed change. In this example, let's assume the change is " "about fixing a typo in the word <literal>typo</literal> which was " "inadvertently written as <literal>tpyo</literal>. Therefore, the change is " "<command>s/tpyo/typo</command>." msgstr "" "Finden Sie heraus, welche Änderung nötig ist. In diesem Beispiel wird davon " "ausgegangen, dass die Änderung darin besteht, einen Tippfehler im Wort " "<literal>typo</literal> zu korrigieren, das versehentlich " "<literal>tpyo</literal> geschrieben wurde. Daher ist die Änderung " "<command>s/tpyo/typo</command>." #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #: best-pkging-practices.dbk:865 msgid "" "Check that this change is only applied to the place where you really intend " "to make it and <emphasis role=\"strong\">not</emphasis> in any other place " "where the original string is appropriate. This specifically applies to " "change in punctuation, for instance." msgstr "" "Prüfen Sie, ob die Änderung nur an der Stelle angewandt wird, an der Sie sie " "wirklich vornehmen möchten und <emphasis role=\"strong\">nicht</emphasis> an " "irgendeiner anderen Stelle, an der die Originalzeichenkette so gewollt ist. " "Dies wird beispielsweise eigens bei der Änderung der Zeichensetzung angewandt." #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #: best-pkging-practices.dbk:873 msgid "" "Modify all PO files by using <command>sed</command>. The use of that command " "is recommended over any text editor to guarantee that the files encoding " "will not be broken by the edit action:" msgstr "" "Ändern Sie alle PO-Dateien mittels <command>sed</command>. Es wird empfohlen, " "diesen Befehl über einen Text-Editor zu benutzen, um zu gewährleisten, dass " "die Zeichencodierung der Datei nicht durch die Bearbeitungsaktion zerstört " "wird:" #. type: Content of: <chapter><section><section><section><orderedlist><listitem><programlisting> #: best-pkging-practices.dbk:878 #, no-wrap msgid "" "cd debian/po\n" "for i in *.po; do sed -i 's/tpyo/typo/g' $i; done\n" msgstr "" "cd debian/po\n" "for i in *.po; do sed -i 's/tpyo/typo/g' $i; done\n" #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #: best-pkging-practices.dbk:884 msgid "Change the debconf template file to fix the typo." msgstr "Ändern Sie die Debconf-Schablone, um den Tippfehler zu korrigieren." #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #: best-pkging-practices.dbk:889 msgid "Run <command>debconf-updatepo</command>." msgstr "Führen Sie <command>debconf-updatepo</command> aus." #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #: best-pkging-practices.dbk:894 msgid "" "Check the <filename>foo.po</filename> reference file. Its statistics should " "not be changed:" msgstr "" "Prüfen Sie die Bezugsdatei <filename>foo.po</filename>. Die Statistik dieser " "Datei sollte unverändert sein:" #. type: Content of: <chapter><section><section><section><orderedlist><listitem><programlisting> #: best-pkging-practices.dbk:898 #, no-wrap msgid "msgfmt -o /dev/null --statistics debian/po/foo.po\n" msgstr "msgfmt -o /dev/null --statistics debian/po/foo.po\n" #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #: best-pkging-practices.dbk:903 msgid "" "If the file's statistics changed, you did something wrong. Try again or ask " "for help on the &email-debian-i18n; mailing list." msgstr "" "Falls sich die Statistik dieser Datei geändert hat, haben Sie etwas falsch " "gemacht. Versuchen Sie es erneut oder bitten Sie auf der Mailingliste " "&email-debian-i18n; um Hilfe." #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:909 msgid "Gettext utilities method:" msgstr "Methode mit Gettext-Hilfswerkzeugen:" #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #: best-pkging-practices.dbk:914 msgid "" "Put all incomplete PO files out of the way. You can check the completeness " "by using (needs the <systemitem role=\"package\">gettext</systemitem> " "package installed):" msgstr "" "Räumen Sie alle unvollständigen PO-Dateien aus dem Weg. Sie können die " "Vollständigkeit prüfen (das Paket <systemitem " "role=\"package\">gettext</systemitem> muss installiert sein):" #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #: best-pkging-practices.dbk:922 msgid "" "Move all files which report either fuzzy strings to a temporary place. " "Files which report no fuzzy strings (only translated and untranslated) will " "be kept in place." msgstr "" "Verschieben Sie alle Dateien, die auch unvollständige Zeichenketten enthalten " "temporär an eine andere Stelle. Dateien ohne unvollständige Zeichenketten " "(nur übersetzt und unübersetzte) bleiben wo sie sind." #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #: best-pkging-practices.dbk:929 msgid "" "Now <emphasis role=\"strong\">and now only</emphasis>, modify the template " "for the typos and check again that translation are not impacted (typos, " "spelling errors, sometimes typographical corrections are usually OK)." msgstr "" "Ändern sie nun <emphasis role=\"strong\">und nur nun</emphasis> die " "Tippfehler in der Schablone und prüfen Sie erneut, ob keine Übersetzungen " "betroffen sind (normalerweise sind Tippfehler, Rechtschreibfehler und " "manchmal typografische Korrekturen OK)." #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #: best-pkging-practices.dbk:936 msgid "" "Run <command>debconf-updatepo</command>. This will fuzzy all strings you " "modified in translations. You can see this by running the above again." msgstr "" "Führen Sie <command>debconf-updatepo</command> aus. Dies wird alle von Ihnen " "in Übersetzungen geänderten Zeichenketten mit »fuzzy« markieren. Sie können " "dies sehen, wenn Sie obigen Aufruf erneut ausführen." #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #: best-pkging-practices.dbk:942 msgid "Use the following command:" msgstr "Benutzen Sie den folgenden Befehl:" #. type: Content of: <chapter><section><section><section><orderedlist><listitem><programlisting> #: best-pkging-practices.dbk:944 #, no-wrap msgid "for i in debian/po/*po; do msgattrib --output-file=$i --clear-fuzzy $i; done" msgstr "" "for i in debian/po/*po; do msgattrib --output-file=$i --clear-fuzzy $i; done" #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #: best-pkging-practices.dbk:948 msgid "" "Move back to <filename>debian/po</filename> the files which showed fuzzy " "strings in the first step." msgstr "" "Verschieben Sie die Dateien mit unvollständige Zeichenketten aus dem ersten " "Schritt zurück nach <filename>debian/po</filename>." #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #: best-pkging-practices.dbk:953 msgid "Run <command>debconf-updatepo</command> again." msgstr "Führen Sie erneut <command>debconf-updatepo</command> aus." #. type: Content of: <chapter><section><section><section><title> #: best-pkging-practices.dbk:960 msgid "Do not make assumptions about interfaces" msgstr "Treffen Sie keine Annahmen über Schnittstellen." #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:962 msgid "" "Templates text should not make reference to widgets belonging to some " "debconf interfaces. Sentences like <emphasis>If you answer " "Yes...</emphasis> have no meaning for users of graphical interfaces which " "use checkboxes for boolean questions." msgstr "" "Schablonentext sollte keinen Bezug auf Steuerelemente herstellen, die zu " "irgendwelchen Debconf-Schnittstellen gehören. Sätze wie <emphasis>If you " "answer Yes...</emphasis> haben keinen Sinn für Benutzer grafischer " "Oberflächen, die für die Beantwortung logischer Fragen Kontrollkästchen " "verwenden." #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:967 msgid "" "String templates should also avoid mentioning the default values in their " "description. First, because this is redundant with the values seen by the " "users. Also, because these default values may be different from the " "maintainer choices (for instance, when the debconf database was preseeded)." msgstr "" "Zeichenkettenschablonen sollten außerdem vermeiden, Vorgabewerte in ihrer " "Beschreibung zu erwähnen. Erstens sind diese zusätzlich zu den Werten, die " "der Anwender sieht, vorhanden. Außerdem könnten sich diese Werte von der " "Auswahl des Paketbetreuers unterscheiden (zum Beispiel, wenn die " "Debconf-Datenbank vorbelegt war)." #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:973 msgid "" "More generally speaking, try to avoid referring to user actions. Just give " "facts." msgstr "" "Versuchen Sie, allgemein ausgedrückt, Bezug auf Benutzeraktionen zu " "vermeiden. Geben Sie nur Tatsachen wieder." #. type: Content of: <chapter><section><section><section><title> #: best-pkging-practices.dbk:979 msgid "Do not use first person" msgstr "Reden Sie nicht in der ersten Person." #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:981 msgid "" "You should avoid the use of first person (<emphasis>I will do " "this...</emphasis> or <emphasis>We recommend...</emphasis>). The computer " "is not a person and the Debconf templates do not speak for the Debian " "developers. You should use neutral construction. Those of you who already " "wrote scientific publications, just write your templates like you would " "write a scientific paper. However, try using active voice if still " "possible, like <emphasis>Enable this if ...</emphasis> instead of " "<emphasis>This can be enabled if...</emphasis>." msgstr "" "Sie sollten vermeiden, in der ersten Person zu reden (<emphasis>I will do " "this...</emphasis> oder <emphasis>We recommend...</emphasis>). Der Rechner " "ist keine Person und die Debconf-Schablonen sprechen nicht stellvertretend " "für Debian-Entwickler. Sie sollten neutrale Formulierungen benutzen. " "Diejenigen unter Ihnen, die bereits wissenschaftliche Publikationen verfasst " "haben, können ihre Schablonen so schreiben, als würden Sie wissenschaftliche " "Papiere verfassen. Versuchen Sie jedoch, wenn möglich, eine aktive Anrede zu " "verwenden, wie <emphasis>Enable this if ...</emphasis> anstelle von " "<emphasis>This can be enabled if...</emphasis>." #. type: Content of: <chapter><section><section><section><title> #: best-pkging-practices.dbk:991 msgid "Be gender neutral" msgstr "Formulieren Sie geschlechtsneutral" #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:993 msgid "" "The world is made of men and women. Please use gender-neutral constructions " "in your writing." msgstr "" "Die Welt wird von Männern und Frauen bevölkert. Bitte benutzen Sie in Ihren " "Texten geschlechtsneutrale Formulierungen." #. type: Content of: <chapter><section><section><title> #: best-pkging-practices.dbk:1001 msgid "Templates fields definition" msgstr "Definition von Schablonenfeldern" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1003 msgid "" "This part gives some information which is mostly taken from the " "<citerefentry> <refentrytitle>debconf-devel</refentrytitle> " "<manvolnum>7</manvolnum> </citerefentry> manual page." msgstr "" "Dieser Teil stellt einige Informationen bereit, die meistens von der " "Handbuchseite <citerefentry> <refentrytitle>debconf-devel</refentrytitle> " "<manvolnum>7</manvolnum> </citerefentry> abgefragt wird." #. type: Content of: <chapter><section><section><section><title> #: best-pkging-practices.dbk:1008 # Nicht übersetzen --> siehe Manpage aus letztem String msgid "Type" msgstr "Type" #. type: Content of: <chapter><section><section><section><section><title> #: best-pkging-practices.dbk:1010 msgid "string" msgstr "string" #. type: Content of: <chapter><section><section><section><section><para> #: best-pkging-practices.dbk:1012 msgid "Results in a free-form input field that the user can type any string into." msgstr "" "resultiert in einem Eingabefeld freier Form, in das der Benutzer jegliche " "Zeichenkette eingeben kann." #. type: Content of: <chapter><section><section><section><section><title> #: best-pkging-practices.dbk:1017 msgid "password" msgstr "password" #. type: Content of: <chapter><section><section><section><section><para> #: best-pkging-practices.dbk:1019 msgid "" "Prompts the user for a password. Use this with caution; be aware that the " "password the user enters will be written to debconf's database. You should " "probably clean that value out of the database as soon as is possible." msgstr "" "gibt dem Benutzer eine Eingabeaufforderung für ein Passwort aus. Benutzen Sie " "dies mit Vorsicht. Vergegenwärtigen Sie sich, dass das Passwort, das der " "Benutzer eingibt, in die Debconf-Datenbank geschrieben wird. Sie sollten " "diesen Wert möglicherweise aus der Datenbank löschen, sobald dies möglich ist." #. type: Content of: <chapter><section><section><section><section><title> #: best-pkging-practices.dbk:1026 msgid "boolean" msgstr "boolean" #. type: Content of: <chapter><section><section><section><section><para> #: best-pkging-practices.dbk:1028 msgid "" "A true/false choice. Remember: true/false, <emphasis role=\"strong\">not " "yes/no</emphasis>..." msgstr "" "eine Auswahl »wahr/falsch«. Denken Sie daran: true/false, nicht <emphasis " "role=\"strong\">yes/no</emphasis> ..." #. type: Content of: <chapter><section><section><section><section><title> #: best-pkging-practices.dbk:1034 msgid "select" msgstr "select" #. type: Content of: <chapter><section><section><section><section><para> #: best-pkging-practices.dbk:1036 msgid "" "A choice between one of a number of values. The choices must be specified " "in a field named 'Choices'. Separate the possible values with commas and " "spaces, like this: <literal>Choices: yes, no, maybe</literal>." msgstr "" "Eine Auswahl aus mehreren Werten. Die Auswahlmöglichkeiten müssen in einem " "»Choices« benannten Feld angegeben werden. Trennen Sie die möglichen Werte " "mit Komma und Leerzeichen, wie hier: <literal> Choices: yes, no, " "maybe</literal>." #. type: Content of: <chapter><section><section><section><section><para> #: best-pkging-practices.dbk:1041 msgid "" "If choices are translatable strings, the 'Choices' field may be marked as " "translatable by using <literal>__Choices</literal>. The double underscore " "will split out each choice in a separate string." msgstr "" "Falls Auswahlmöglichkeiten übersetzbare Zeichenketten sind, könnte das Feld " "durch Benutzung von <literal>__Choices</literal> als übersetzbar " "gekennzeichnet werden. Der doppelte Unterstrich wird jede Auswahl in eine " "separate Zeichenkette heraustrennen." #. type: Content of: <chapter><section><section><section><section><para> #: best-pkging-practices.dbk:1046 msgid "" "The <command>po-debconf</command> system also offers interesting " "possibilities to only mark <emphasis role=\"strong\">some</emphasis> choices " "as translatable. Example:" msgstr "" "Das System <command>po-debconf</command> bietet außerdem interessante " "Möglichkeiten nur <emphasis role=\"strong\">einige</emphasis> " "Auswahlmöglichkeiten als übersetzbar zu kennzeichnen. Ein Beispiel:" #. type: Content of: <chapter><section><section><section><section><programlisting> #: best-pkging-practices.dbk:1051 #, no-wrap msgid "" "Template: foo/bar\n" "Type: Select\n" "#flag:translate:3\n" "__Choices: PAL, SECAM, Other\n" "_Description: TV standard:\n" " Please choose the TV standard used in your country.\n" msgstr "" "Template: foo/bar\n" "Type: Select\n" "#flag:translate:3\n" "__Choices: PAL, SECAM, Other\n" "_Description: TV standard:\n" " Please choose the TV standard used in your country.\n" #. type: Content of: <chapter><section><section><section><section><para> #: best-pkging-practices.dbk:1059 msgid "" "In that example, only the 'Other' string is translatable while others are " "acronyms that should not be translated. The above allows only 'Other' to be " "included in PO and POT files." msgstr "" "In diesem Beispiel ist nur die Zeichenkette »Other« übersetzbar, während das " "andere Abkürzungen sind, die nicht übersetzt werden sollten. Obiges " "ermöglicht, dass nur »Other« in die POT- und PO-Dateien eingefügt wird." #. type: Content of: <chapter><section><section><section><section><para> #: best-pkging-practices.dbk:1064 msgid "" "The debconf templates flag system offers many such possibilities. The " "<citerefentry> <refentrytitle>po-debconf</refentrytitle> " "<manvolnum>7</manvolnum> </citerefentry> manual page lists all these " "possibilities." msgstr "" "Das Schaltersystem der Debconf-Schablonen bietet viele solcher Möglichkeiten. " "Die Handbuchseite <citerefentry> <refentrytitle>po-debconf</refentrytitle> " "<manvolnum>7</manvolnum> </citerefentry> führt all diese Möglichkeiten auf." #. type: Content of: <chapter><section><section><section><section><title> #: best-pkging-practices.dbk:1072 msgid "multiselect" msgstr "multiselect" #. type: Content of: <chapter><section><section><section><section><para> #: best-pkging-practices.dbk:1074 msgid "" "Like the select data type, except the user can choose any number of items " "from the choices list (or chose none of them)." msgstr "" "Wie der Datentyp »select«, außer dass der Benutzer eine beliebige Anzahl von " "Elementen aus der Auswahlliste auswählen kann (oder gar keins)." #. type: Content of: <chapter><section><section><section><section><title> #: best-pkging-practices.dbk:1080 msgid "note" msgstr "note" #. type: Content of: <chapter><section><section><section><section><para> #: best-pkging-practices.dbk:1082 msgid "" "Rather than being a question per se, this datatype indicates a note that can " "be displayed to the user. It should be used only for important notes that " "the user really should see, since debconf will go to great pains to make " "sure the user sees it; halting the install for them to press a key, and even " "mailing the note to them in some cases." msgstr "" "Statt per se eine Frage zu sein, gibt dieser Datentyp eine Anmerkung an, die " "dem Benutzer angezeigt werden kann. Sie sollte nur für wichtige Anmerkungen " "benutzt werden, die der Benutzer wirklich sehen sollte, weil Debconf großen " "Aufwand betreibt, um sicherzustellen, dass der Benutzer sie sieht und die " "Installation anhält, so dass der Benutzer eine Taste drückt und sogar in " "manchen Fällen eine Benachrichtigung per E-Mail bekommt." #. type: Content of: <chapter><section><section><section><section><title> #: best-pkging-practices.dbk:1091 msgid "text" msgstr "text" #. type: Content of: <chapter><section><section><section><section><para> #: best-pkging-practices.dbk:1093 msgid "This type is now considered obsolete: don't use it." msgstr "Dieser Typ wird nun als veraltet angesehen: Benutzen Sie ihn nicht." #. type: Content of: <chapter><section><section><section><section><title> #: best-pkging-practices.dbk:1098 msgid "error" msgstr "error" #. type: Content of: <chapter><section><section><section><section><para> #: best-pkging-practices.dbk:1100 msgid "" "This type is designed to handle error messages. It is mostly similar to the " "note type. Frontends may present it differently (for instance, the dialog " "frontend of cdebconf draws a red screen instead of the usual blue one)." msgstr "" "Dieser Typ wurde entworfen, um Fehlermeldungen zu handhaben. Er ist meist dem " "Typ »note« ähnlich. Oberflächen könnten ihn unterschiedlich anzeigen (die " "Oberfläche von Cdebconf zeichnet beispielsweise einen roten statt des " "üblichen blauen Bildschirms)." #. type: Content of: <chapter><section><section><section><section><para> #: best-pkging-practices.dbk:1105 msgid "" "It is recommended to use this type for any message that needs user attention " "for a correction of any kind." msgstr "" "Es wird empfohlen, diesen Typ für jegliche Nachricht zu verwenden, die die " "Aufmerksamkeit des Anwenders für irgendeine Art von Korrektur auf sich ziehen " "muss." #. type: Content of: <chapter><section><section><section><title> #: best-pkging-practices.dbk:1113 msgid "Description: short and extended description" msgstr "Description: Kurze und längere Beschreibung" #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1115 msgid "" "Template descriptions have two parts: short and extended. The short " "description is in the Description: line of the template." msgstr "" "Schablonenbeschreibungen haben zwei Teile: kurz und länger. Die " "Kurzbeschreibung steht in der Zeile »Description:« der Schablone." #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1119 # FIXME s/accomodated/accommodated/ msgid "" "The short description should be kept short (50 characters or so) so that it " "may be accomodated by most debconf interfaces. Keeping it short also helps " "translators, as usually translations tend to end up being longer than the " "original." msgstr "" "Die Kurzbeschreibung sollte knapp gehalten werden (ungefähr 50 Zeichen), so " "dass sie in den meisten Debconf-Schnittstellen untergebracht werden kann. Es " "hilft obendrein Übersetzern, wenn sie kurz gehalten wird, da Übersetzungen " "normalerweise dazu neigen, länger als das Original zu sein." #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1125 msgid "" "The short description should be able to stand on its own. Some interfaces " "do not show the long description by default, or only if the user explicitely " "asks for it or even do not show it at all. Avoid things like What do you " "want to do?" msgstr "" "Die Kurzbeschreibung sollte für sich allein stehen können. Einige " "Schnittstellen zeigen standardmäßig die ausführliche Beschreibung nicht, nur " "dann, wenn der Benutzer danach fragt oder sogar überhaupt nicht an. " "Vermeiden Sie Dinge wie »Was möchten Sie tun?«" #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1131 msgid "" "The short description does not necessarily have to be a full sentence. This " "is part of the keep it short and efficient recommendation." msgstr "" "Die Kurzbeschreibung muss nicht notwendigerweise aus einem vollständigen Satz " "bestehen. Dies ist Teil der Forderung nach kurzen, brauchbaren Empfehlungen." #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1135 msgid "" "The extended description should not repeat the short description word for " "word. If you can't think up a long description, then first, think some " "more. Post to debian-devel. Ask for help. Take a writing class! That " "extended description is important. If after all that you still can't come " "up with anything, leave it blank." msgstr "" "Die längere Beschreibung sollte die Kurzbeschreibung nicht Wort für Wort " "wiederholen. Falls Ihnen keine ausführliche Beschreibung einfällt, denken Sie " "zuerst etwas mehr nach. Schreiben Sie an Debian-devel. Bitten Sie um Hilfe. " "Nehmen Sie Schreibunterricht! Diese längere Beschreibung ist wichtig. Falls " "Sie nach allem noch immer nicht damit zurecht kommen, lassen Sie sie leer." #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1142 msgid "" "The extended description should use complete sentences. Paragraphs should " "be kept short for improved readability. Do not mix two ideas in the same " "paragraph but rather use another paragraph." msgstr "" "Die längere Beschreibung sollte in ganzen Sätzen verfasst sein. Absätze " "sollten kurz gehalten werden, um die Leserlichkeit zu verbessern. Vermischen " "Sie nicht zwei Ideen in einem Absatz, sondern benutzen Sie lieber einen " "anderen Absatz." #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1147 msgid "" "Don't be too verbose. User tend to ignore too long screens. 20 lines are " "by experience a border you shouldn't cross, because that means that in the " "classical dialog interface, people will need to scroll, and lot of people " "just don't do that." msgstr "" "Seien Sie nicht zu gesprächig. Benutzer tendieren dazu, zu lange Bildflächen " "zu ignorieren. 20 Zeilen sind erfahrungsgemäß die Grenze, die Sie nicht " "überschreiten sollten, da dies bedeuted, dass Anwender klassische " "Dialogfenster nicht scrollen müssen und viele Leute tun das einfach nicht." #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1153 msgid "" "The extended description should <emphasis role=\"strong\">never</emphasis> " "include a question." msgstr "" "Die längere Beschreibung sollte <emphasis role=\"strong\">keine</emphasis> " "Frage enthalten." #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1157 msgid "" "For specific rules depending on templates type (string, boolean, etc.), " "please read below." msgstr "" "Um etwas über besondere Regeln zu erfahren, die vom Schablonentyp (string, " "boolean etc.) abhängen, lesen Sie das Folgende." #. type: Content of: <chapter><section><section><section><title> #: best-pkging-practices.dbk:1163 msgid "Choices" msgstr "Choices" #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1165 msgid "" "This field should be used for select and multiselect types. It contains the " "possible choices which will be presented to users. These choices should be " "separated by commas." msgstr "" "Dieses Feld sollte für »select«- und »multiselect«-Typen verwandt werden. Es " "enthält die Auswahlmöglichkeiten, die dem Benutzer angezeigt werden. Diese " "Auswahlmöglichkeiten sollten durch Kommas getrennt werden." #. type: Content of: <chapter><section><section><section><title> #: best-pkging-practices.dbk:1172 msgid "Default" msgstr "Default" #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1174 msgid "" "This field is optional. It contains the default answer for string, select " "and multiselect templates. For multiselect templates, it may contain a " "comma-separated list of choices." msgstr "" "Dieses Feld ist optional. Es enthält die vorgegebene Antwort für die " "»string«-, »select«- und »multiselect«-Schablonen. Für " "»multiselect«-Schablonen könnte es eine durch Kommas getrennte Auswahlliste " "enthalten." #. type: Content of: <chapter><section><section><title> #: best-pkging-practices.dbk:1183 msgid "Templates fields specific style guide" msgstr "Stil-Anleitung speziell für Schablonenfelder" #. type: Content of: <chapter><section><section><section><title> #: best-pkging-practices.dbk:1185 msgid "Type field" msgstr "Feld »Type«" #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1187 msgid "" "No specific indication except: use the appropriate type by referring to the " "previous section." msgstr "" "keine besondere Angabe, außer: Benutzen Sie den geeigneten Typ bezogen auf " "den vorhergehenden Abschnitt." #. type: Content of: <chapter><section><section><section><title> #: best-pkging-practices.dbk:1193 msgid "Description field" msgstr "Feld »Description«" #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1195 msgid "" "Below are specific instructions for properly writing the Description (short " "and extended) depending on the template type." msgstr "" "Es folgen spezifische Anweisungen für ordnungsgemäßes Verfassen der " "Beschreibung (kurz und länger), abhängig vom Schablonentyp." #. type: Content of: <chapter><section><section><section><section><title> #: best-pkging-practices.dbk:1199 msgid "String/password templates" msgstr "»string«-/»password«-Schablonen" #. type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para> #: best-pkging-practices.dbk:1203 msgid "" "The short description is a prompt and <emphasis " "role=\"strong\">not</emphasis> a title. Avoid question style prompts (IP " "Address?) in favour of opened prompts (IP address:). The use of colons is " "recommended." msgstr "" "Die Kurzbeschreibung ist eine Abfrage und <emphasis " "role=\"strong\">kein</emphasis> Titel. Vermeiden Sie den Fragestil (IP " "address?) und geben Sie offenen Abfragen (IP address:) den Vorzug. Es wird " "empfohlen Doppelpunkte zu benutzen." #. type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para> #: best-pkging-practices.dbk:1210 msgid "" "The extended description is a complement to the short description. In the " "extended part, explain what is being asked, rather than ask the same " "question again using longer words. Use complete sentences. Terse writing " "style is strongly discouraged." msgstr "" "Die längere Beschreibung ist eine Ergänzung der Kurzbeschreibung. Im " "erweiterten Teil erklären Sie, was gefragt ist, anstatt die gleiche Frage in " "längerer Formulierung wieder zu stellen. Benutzen Sie ganze Sätze. Von " "knappem Schreibstil wird strikt abgeraten." #. type: Content of: <chapter><section><section><section><section><title> #: best-pkging-practices.dbk:1220 msgid "Boolean templates" msgstr "»boolean«-Schablonen" #. type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para> #: best-pkging-practices.dbk:1224 # FIXME missing full stop msgid "" "The short description should be phrased in the form of a question which " "should be kept short and should generally end with a question mark. Terse " "writing style is permitted and even encouraged if the question is rather " "long (remember that translations are often longer than original versions)" msgstr "" "Die Kurzbeschreibung sollte in der Frageform ausgedrückt werden, die kurz " "gehalten und generell mit einem Fragezeichen beendet werden sollte. Knapper " "Schreibstil ist erlaubt und sogar gewollt, falls die Frage eher lang ist. " "(Denken Sie daran, dass Übersetzungen oft länger als die Originalversionen " "sind.)" #. type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para> #: best-pkging-practices.dbk:1232 msgid "" "Again, please avoid referring to specific interface widgets. A common " "mistake for such templates is if you answer Yes-type constructions." msgstr "" "Nochmals: Bitte vermeiden Sie, sich auf Schnittstellen-spezifische Dinge zu " "beziehen. Es ist ein häufiges Missverständnis bei solchen Schablonen, wenn " "Sie Ja-Typ-Konstruktionen antworten." #. type: Content of: <chapter><section><section><section><section><title> #: best-pkging-practices.dbk:1240 msgid "Select/Multiselect" msgstr "»select«/»multiselect«" #. type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para> #: best-pkging-practices.dbk:1244 msgid "" "The short description is a prompt and <emphasis " "role=\"strong\">not</emphasis> a title. Do <emphasis " "role=\"strong\">not</emphasis> use useless Please choose... constructions. " "Users are clever enough to figure out they have to choose something...:)" msgstr "" "Die Kurzbeschreibung ist eine Abfrage und <emphasis " "role=\"strong\">kein</emphasis> Titel. Benutzen Sie <emphasis " "role=\"strong\">keine</emphasis> nutzlosen »Please choose...«-Konstruktionen. " "Anwender sind klug genug herauszufinden, dass sie etwas auswählen sollen ... " ":)" #. type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para> #: best-pkging-practices.dbk:1252 msgid "" "The extended description will complete the short description. It may refer " "to the available choices. It may also mention that the user may choose more " "than one of the available choices, if the template is a multiselect one " "(although the interface often makes this clear)." msgstr "" "Die längere Beschreibung wird die Kurzbeschreibung vervollständigen. Sie " "könnte sich auf die verfügbaren Auswahlmöglichkeiten beziehen. Sie könnte " "zudem erwähnen, dass der Anwender unter mehr als einer verfügbaren " "Auswahlmöglichkeit wählen kann, falls es sich um eine »multiselect«-Schablone " "handelt." #. type: Content of: <chapter><section><section><section><section><title> #: best-pkging-practices.dbk:1262 msgid "Notes" msgstr "»notes«" #. type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para> #: best-pkging-practices.dbk:1266 msgid "" "The short description should be considered to be a <emphasis " "role=\"strong\">title</emphasis>." msgstr "" "Die Kurzbeschreigung sollte als <emphasis role=\"strong\">Titel</emphasis> " "betrachtet werden." #. type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para> #: best-pkging-practices.dbk:1271 msgid "" "The extended description is what will be displayed as a more detailed " "explanation of the note. Phrases, no terse writing style." msgstr "" "Die längere Beschreibung ist das, was als detaillierte Erklärung der Notiz " "angezeigt wird. Sätze, kein knapper Schreibstil." #. type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para> #: best-pkging-practices.dbk:1277 msgid "" "<emphasis role=\"strong\">Do not abuse debconf.</emphasis> Notes are the " "most common way to abuse debconf. As written in debconf-devel manual page: " "it's best to use them only for warning about very serious problems. The " "<filename>NEWS.Debian</filename> or <filename>README.Debian</filename> files " "are the appropriate location for a lot of notes. If, by reading this, you " "consider converting your Note type templates to entries in " "<filename>NEWS.Debian</filename> or <filename>README.Debian</filename>, plus " "consider keeping existing translations for the future." msgstr "" "<emphasis role=\"strong\">Missbrauchen Sie Debconf nicht.</emphasis> Notizen " "sind die häufigste Art, auf die Debconf missbraucht wird. Wie steht doch in " "der Handbuchseite von »debconf-devel« geschrieben: Es ist am Besten, dies nur " "für Warnungen über sehr ernsthafte Probleme zu benutzen. Die Dateien " "<filename>NEWS.Debian</filename> oder <filename>README.Debian</filename> sind " "für viele Notizen der passende Ort. Denken Sie, wenn Sie dies lesen, darüber " "nach, Ihre Schablonen des Typs »notes« zu Einträgen in " "<filename>NEWS.Debian</filename> oder <filename>README.Debian</filename> " "umzuwandeln und existierende Übersetzungen für die Zukunft aufzubewahren." #. type: Content of: <chapter><section><section><section><title> #: best-pkging-practices.dbk:1292 msgid "Choices field" msgstr "Das Feld »Choices«" #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1294 msgid "" "If the Choices are likely to change often, please consider using the " "__Choices trick. This will split each individual choice into a single " "string, which will considerably help translators for doing their work." msgstr "" "Falls sich »Choices« zu oft ändert, sollten Sie in Betracht ziehen, zum " "__Choices-Trick zu greifen. Dies wird jede einzelne Auswahl in eine einzelne " "Zeichenkette aufteilen, was Übersetzern beträchtlich bei ihrer Arbeit helfen " "wird." #. type: Content of: <chapter><section><section><section><title> #: best-pkging-practices.dbk:1301 best-pkging-practices.dbk:1339 msgid "Default field" msgstr "Das Feld »Default«" #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1303 msgid "" "If the default value, for a select template, is likely to vary depending on " "the user language (for instance, if the choice is a language choice), please " "use the _Default trick." msgstr "" "Falls der Vorgabewert für eine Auswahlschablone sich wahrscheinlich abhängig " "von der Sprache des Anwenders unterscheidet (zum Beispiel, weil es sich bei " "der Auswahl um eine Sprachauswahl handelt), benutzen Sie bitte den " "_Default-Trick." #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1308 msgid "" "This special field allow translators to put the most appropriate choice " "according to their own language. It will become the default choice when " "their language is used while your own mentioned Default Choice will be used " "when using English." msgstr "" "Dieses Spezialfeld ermöglicht Übersetzern, die am Besten zu ihrer Sprache " "passende Auswahl zu nehmen. Es wird die vorgegebene Auswahl sein, wenn " "ihre Sprache benutzt wird, während Ihre eigene erwähnte »Default Choice« " "benutzt wird, wenn Sie Englisch benutzen." #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1314 msgid "Example, taken from the geneweb package templates:" msgstr "Ein Beispiel aus den Schablonen des Pakets Geneweb:" #. type: Content of: <chapter><section><section><section><screen> #: best-pkging-practices.dbk:1317 #, no-wrap msgid "" "Template: geneweb/lang\n" "Type: select\n" "__Choices: Afrikaans (af), Bulgarian (bg), Catalan (ca), Chinese (zh), Czech " "(cs), Danish (da), Dutch (nl), English (en), Esperanto (eo), Estonian (et), " "Finnish (fi), French (fr), German (de), Hebrew (he), Icelandic (is), Italian " "(it), Latvian (lv), Norwegian (no), Polish (pl), Portuguese (pt), Romanian " "(ro), Russian (ru), Spanish (es), Swedish (sv)\n" "# This is the default choice. Translators may put their own language here\n" "# instead of the default.\n" "# WARNING : you MUST use the ENGLISH NAME of your language\n" "# For instance, the french translator will need to put French (fr) here.\n" "_Default: English[ translators, please see comment in PO files]\n" "_Description: Geneweb default language:\n" msgstr "" "Template: geneweb/lang\n" "Type: select\n" "__Choices: Afrikaans (af), Bulgarian (bg), Catalan (ca), Chinese (zh), Czech " "(cs), Danish (da), Dutch (nl), English (en), Esperanto (eo), Estonian (et), " "Finnish (fi), French (fr), German (de), Hebrew (he), Icelandic (is), Italian " "(it), Latvian (lv), Norwegian (no), Polish (pl), Portuguese (pt), Romanian " "(ro), Russian (ru), Spanish (es), Swedish (sv)\n" "# This is the default choice. Translators may put their own language here\n" "# instead of the default.\n" "# WARNING : you MUST use the ENGLISH NAME of your language\n" "# For instance, the french translator will need to put French (fr) here.\n" "_Default: English[ translators, please see comment in PO files]\n" "_Description: Geneweb default language:\n" #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1328 msgid "" "Note the use of brackets which allow internal comments in debconf fields. " "Also note the use of comments which will show up in files the translators " "will work with." msgstr "" "Beachten Sie, dass die Benutzung von Klammern Kommentare in Debconf-Feldern " "erlaubt. Beachten Sie außerdem, dass die Benutzung von Kommentaren in Dateien " "zu sehen sein wird, mit denen Übersetzer arbeiten." #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1333 msgid "" "The comments are needed as the _Default trick is a bit confusing: the " "translators may put their own choice" msgstr "" "Die Kommentare werden benötigt, da der _Default-Trick etwas verwirrendes ist: " "Die Übersetzer könnten ihre eigene Auswahl nehmen." #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1341 msgid "" "Do NOT use empty default field. If you don't want to use default values, do " "not use Default at all." msgstr "" "Benutzen Sie KEIN leeres »Default«-Feld. Falls Sie keine Vorgabewerte " "benutzen möchten, benutzen Sie Default überhaupt nicht." #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1345 msgid "" "If you use po-debconf (and you <emphasis role=\"strong\">should</emphasis>, " "see <xref linkend=\"s6.5.2.2\"/>), consider making this field translatable, " "if you think it may be translated." msgstr "" "Falls Sie Po-debconf benutzen (und das <emphasis " "role=\"strong\">sollten </emphasis> Sie, lesen Sie <xref " "linkend=\"s6.5.2.2\"/>), erwägen Sie, dieses Feld übersetzbar zu machen, wenn " "Sie der Meinung sind, es könnte übersetzt werden." #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1350 # FIXME superfluous second bracket msgid "" "If the default value may vary depending on language/country (for instance " "the default value for a language choice), consider using the special " "_Default type documented in <citerefentry> " "<refentrytitle>po-debconf</refentrytitle> <manvolnum>7</manvolnum> " "</citerefentry>)." msgstr "" "Falls der Vorgabewert von Sprache oder Land abhängen könnte (zum Beispiel, " "weil es sich bei der Auswahl um eine Sprachauswahl handelt), ziehen Sie in " "Betracht, den Typ _Default zu benutzen, der in <citerefentry> " "<refentrytitle>po-debconf</refentrytitle> <manvolnum>7</manvolnum> " "</citerefentry> dokumentiert wird." #. type: Content of: <chapter><section><title> #: best-pkging-practices.dbk:1362 msgid "Internationalization" msgstr "Internationalisierung" #. type: Content of: <chapter><section><para> #: best-pkging-practices.dbk:1364 msgid "" "This section contains global information for developers to make translators' " "life easier. More information for translators and developers interrested in " "internationalization are available in the <ulink " "url=\"&url-i18n-l10n;\">Internationalisation and localisation in " "Debian</ulink> documentation." msgstr "" "Der zweite Abschnitt enthält globale Informationen für Entwickler, um " "Übersetzern das Leben leichter zu machen. Weitere Informationen für " "Übersetzer und Entwickler, die sich für Internationalisierung interessieren, " "sind in der Dokumentation <ulink " "url=\"&url-i18n-l10n;\">Internationalisierung und Lokalisierung</ulink> " "verfügbar." #. type: Content of: <chapter><section><section><title> #: best-pkging-practices.dbk:1371 msgid "Handling debconf translations" msgstr "Handhabung von Debconf-Übersetzungen" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1373 msgid "" "Like porters, translators have a difficult task. They work on many packages " "and must collaborate with many different maintainers. Moreover, most of the " "time, they are not native English speakers, so you may need to be " "particularly patient with them." msgstr "" "Wie Portierende haben auch Übersetzer noch andere Aufgaben. Sie arbeiten an " "vielen Paketen und müssen mit vielen verschiedenen Paketbetreuern " "zusammenwirken. Außerdem ist Englisch meist nicht ihre Muttersprache. Sie " "sollten ihnen daher besondere Geduld entgegenbringen." #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1379 msgid "" "The goal of <systemitem role=\"package\">debconf</systemitem> was to make " "packages configuration easier for maintainers and for users. Originally, " "translation of debconf templates was handled with " "<command>debconf-mergetemplate</command>. However, that technique is now " "deprecated; the best way to accomplish <systemitem " "role=\"package\">debconf</systemitem> internationalization is by using the " "<systemitem role=\"package\">po-debconf</systemitem> package. This method " "is easier both for maintainer and translators; transition scripts are " "provided." msgstr "" "Das Ziel von <systemitem role=\"package\">debconf</systemitem> war die " "Vereinfachung der Paketkonfiguration für Betreuer und Anwender. Ursprünglich " "wurde die Übersetzung von Debconf-Schablonen mit " "<command>debconf-mergetemplate</command> gehandhabt. Nun wird diese Technik " "jedoch missbilligt. Die Internationalisierung von <systemitem " "role=\"package\">debconf</systemitem> ist am besten mit dem Paket <systemitem " "role=\"package\">po-debconf</systemitem> zu erreichen. Diese Methode ist " "sowohl für Betreuer als auch für Übersetzer einfacher. Es werden " "Umwandlungsskripte bereitgestellt." #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1389 msgid "" "Using <systemitem role=\"package\">po-debconf</systemitem>, the translation " "is stored in <filename>.po</filename> files (drawing from " "<command>gettext</command> translation techniques). Special template files " "contain the original messages and mark which fields are translatable. When " "you change the value of a translatable field, by calling " "<command>debconf-updatepo</command>, the translation is marked as needing " "attention from the translators. Then, at build time, the " "<command>dh_installdebconf</command> program takes care of all the needed " "magic to add the template along with the up-to-date translations into the " "binary packages. Refer to the <citerefentry> " "<refentrytitle>po-debconf</refentrytitle> <manvolnum>7</manvolnum> " "</citerefentry> manual page for details." msgstr "" "Wenn <systemitem role=\"package\">po-debconf</systemitem> benutzt wird, " "werden sie Übersetzungen in <filename>.po</filename>-Dateien gespeichert " "(mit <command>gettext</command>-Übersetzungstechniken herausgezogen). " "Spezielle Schablonendateien enthalten die Originalnachrichten und " "markieren, welche Felder übersetzbar sind. Wenn Sie den Wert eines " "übersetzbaren Feldes durch Aufruf von <command>debconf-updatepo</command> " "ändern, wird die Übersetzung für Übersetzerals aufmerksamkeitsbedürfend " "gekennzeichnet. Dann, zur Build-Zeit, wird das Programm " "<command>dh_installdebconf</command> wie von Zauberhand dafür sorgen, dass " "alle Schablonen zusammen mit den aktuellen Übersetzungen in die Binärpakete " "einfließen. Weitere Einzelheiten können Sie der Handbuchseite <citerefentry> " "<refentrytitle>po-debconf</refentrytitle> <manvolnum>7</manvolnum> " "</citerefentry> entnehmen." #. type: Content of: <chapter><section><section><title> #: best-pkging-practices.dbk:1405 msgid "Internationalized documentation" msgstr "Internationalisierte Dokumentation" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1407 msgid "" "Internationalizing documentation is crucial for users, but a lot of labor. " "There's no way to eliminate all that work, but you can make things easier " "for translators." msgstr "" "Internationalisierte Dokumentation für Anwender ist wichtig, bereitet aber " "viel Mühe. Es gibt keine Möglichkeit, all diese Arbeit zu beseitigen, aber " "Sie können den Übersetzern einige Dinge erleichtern." #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1412 msgid "" "If you maintain documentation of any size, it is easier for translators if " "they have access to a source control system. That lets translators see the " "differences between two versions of the documentation, so, for instance, " "they can see what needs to be retranslated. It is recommended that the " "translated documentation maintain a note about what source control revision " "the translation is based on. An interesting system is provided by <ulink " "url=\"&url-i18n-doc-check;\">doc-check</ulink> in the <systemitem " "role=\"package\">debian-installer</systemitem> package, which shows an " "overview of the translation status for any given language, using structured " "comments for the current revision of the file to be translated and, for a " "translated file, the revision of the original file the translation is based " "on. You might wish to adapt and provide that in your VCS area." msgstr "" "Falls Sie Dokumentationen in irgendwelchem Umfang betreuen, ist es für " "Übersetzer einfacher, wenn Sie Zugriff auf das Versionsverwaltungssystem " "haben. Dadurch können Übersetzer die Unterschiede zwischen zwei Versionen der " "Dokumentation anschauen, so dass sie beispielsweise sehen können, was neu " "übersetzt werden muss. Es wird empfohlen, dass die übersetzte Dokumentation " "eine Notiz darüber bereithält, auf welcher Revision der Quellenverwaltung die " "Übersetzung basiert. Ein interessantes System wird von <ulink " "url=\"&url-i18n-doc-check;\">doc-check</ulink> aus dem <systemitem " "role=\"package\">debian-installer</systemitem>-Paket bereitgestellt, das eine " "Übersicht über den Übersetzungsstatus für eine angegebene Sprache anzeigt. " "Dazu werden strukturierte Kommentare für die aktuelle Revision der zu " "übersetzenden Datei und für eine übersetzte Datei die Revision des Originals " "auf der die Übersetzung basiert, angezeigt. Möglicherweise möchten Sie dies " "anpassen und in Ihrem VCS-Bereich bereitstellen." #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1426 msgid "" "If you maintain XML or SGML documentation, we suggest that you isolate any " "language-independent information and define those as entities in a separate " "file which is included by all the different translations. This makes it " "much easier, for instance, to keep URLs up to date across multiple files." msgstr "" "Falls Sie XML- oder SGML-Dokumentationen betreuen, wird geraten, dass Sie " "jegliche sprachabhängigen Informationen isolieren und diese als Instanzen in " "einer separaten Datei definieren, die in allen verschiedenen Übersetzungen " "enthalten ist. Dies macht es beispielsweise viel einfacher, URLs über mehrere " "Dateien hinweg aktuell zu halten." #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1432 msgid "" "Some tools (e.g. <systemitem role=\"package\">po4a</systemitem>, <systemitem " "role=\"package\">poxml</systemitem>, or the <systemitem " "role=\"package\">translate-toolkit</systemitem>) are specialized in " "extracting the translatable material from different formats. They produce " "PO files, a format quite common to translators, which permits to see what " "needs to be retranslated when the translated document is updated." msgstr "" "Einige Werkzeuge (z.B. <systemitem role=\"package\">po4a</systemitem>, " "<systemitem role=\"package\">poxml</systemitem> oder <systemitem " "role=\"package\">translate-toolkit</systemitem>) sind darauf spezialisiert, " "übersetzbares Material aus verschiedenen Formaten zu extrahieren. Sie " "erstellen PO-Dateien, ein für Übersetzer ziemlich häufiges Format, das eine " "Übersicht darüber gibt, was übersetzt werden muss, wenn das übersetzte " "Dokument aktualisiert wurde." #. type: Content of: <chapter><section><title> #: best-pkging-practices.dbk:1444 msgid "Common packaging situations" msgstr "Übliche Paketierungssituationen" #. type: Content of: <chapter><section><section><title> #: best-pkging-practices.dbk:1455 msgid "Packages using <command>autoconf</command>/<command>automake</command>" msgstr "Pakete benutzen <command>autoconf</command>/<command>automake</command>" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1457 msgid "" "Keeping <command>autoconf</command>'s <filename>config.sub</filename> and " "<filename>config.guess</filename> files up to date is critical for porters, " "especially on more volatile architectures. Some very good packaging " "practices for any package using <command>autoconf</command> and/or " "<command>automake</command> have been synthesized in &file-bpp-autotools; " "from the <systemitem role=\"package\">autotools-dev</systemitem> package. " "You're strongly encouraged to read this file and to follow the given " "recommendations." msgstr "" "Die Dateien <filename>config.sub</filename> und " "<filename>config.guess</filename> von <command>autoconf</command> aktuell zu " "halten ist für Portierende kritisch, insbesondere auf eher unbeständigen " "Architekturen. Einige sehr gute Paketierungsvorgehensweisen für irgendwelche " "Pakete, die <command>autoconf</command> und/oder <command>automake</command> " "benutzen, wurden in &file-bpp-autotools; aus dem Paket <systemitem " "role=\"package\">autotools-dev</systemitem> zusammengefasst. Es wird " "eindringlich geraten, diese Datei und die folgenden Empfehlungen zu lesen." #. type: Content of: <chapter><section><section><title> #: best-pkging-practices.dbk:1469 msgid "Libraries" msgstr "Bibliotheken" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1471 msgid "" "Libraries are always difficult to package for various reasons. The policy " "imposes many constraints to ease their maintenance and to make sure upgrades " "are as simple as possible when a new upstream version comes out. Breakage " "in a library can result in dozens of dependent packages breaking." msgstr "" "Bibliotheken unterscheiden sich immer von Paketen aus unterschiedlichen " "Gründen. Die Richtlinien verhängen mehrere Beschränkungen, um ihre Verwaltung " "zu erleichtern und sicherzustellen, dass Upgrades so einfach wie möglich " "sind, wenn eine neue Originalversion herauskommt. Eine kaputte Bibliothek " "kann dazu führen, dass Dutzende davon abhängige Pakete kaputtgehen." #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1477 msgid "" "Good practices for library packaging have been grouped in <ulink " "url=\"&url-libpkg-guide;\">the library packaging guide</ulink>." msgstr "" "Gute Vorgehensweisen für das Paketieren von Bibliotheken wurden in der <ulink " "url=\"&url-libpkg-guide;\">Anleitung zum Paketieren von Bibliotheken</ulink> " "zusammengefasst." #. type: Content of: <chapter><section><section><title> #: best-pkging-practices.dbk:1484 msgid "Documentation" msgstr "Dokumentation" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1486 msgid "" "Be sure to follow the <ulink url=\"&url-debian-policy;ch-docs.html\">Policy " "on documentation</ulink>." msgstr "" "Achten Sie darauf, dass Sie den <ulink " "url=\"&url-debian-policy;ch-docs.html\">Richtlinien für Dokumentation</ulink> " "folgen." #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1491 msgid "" "If your package contains documentation built from XML or SGML, we recommend " "you not ship the XML or SGML source in the binary package(s). If users want " "the source of the documentation, they should retrieve the source package." msgstr "" "Falls Ihr Paket Dokumentation enthält, die aus XML oder SGML erstellt wurde, " "wird empfohlen, nicht die XML- oder SGML-Quellen im (in den) Binärpaket(en) " "mitzuliefern. Falls Anwender die Quelle der Dokumentation möchten, sollten " "sie die Paketquelle abrufen." #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1496 msgid "" "Policy specifies that documentation should be shipped in HTML format. We " "also recommend shipping documentation in PDF and plain text format if " "convenient and if output of reasonable quality is possible. However, it is " "generally not appropriate to ship plain text versions of documentation whose " "source format is HTML." msgstr "" "Die Richtlinie gibt an, dass die Dokumentation im HTML-Format weitergegeben " "werden sollte. Außerdem wird empfohlen, die Dokumentation im PDF-Format und " "als Klartext mitzuliefern, falls geeignet und falls die Ausgabe in einer " "vernünftigen Qualität möglich ist. Es ist allgemein jedoch nicht angemessen, " "Klartextversionen von Dokumentationen mitzuliefern, deren Quellformat HTML " "ist." #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1503 msgid "" "Major shipped manuals should register themselves with <systemitem " "role=\"package\">doc-base</systemitem> on installation. See the <systemitem " "role=\"package\">doc-base</systemitem> package documentation for more " "information." msgstr "" "Bedeutende mitgelieferte Handbücher sollten sich selbst bei der Installation " "mit <systemitem role=\"package\">doc-base</systemitem> registrieren. Weitere " "Einzelheiten erhalten Sie in der Dokumentation des Pakets <systemitem " "role=\"package\">doc-base</systemitem>." #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1509 msgid "" "Debian policy (section 12.1) directs that manual pages should accompany " "every program, utility, and function, and suggests them for other objects " "like configuration files. If the work you are packaging does not have such " "manual pages, consider writing them for inclusion in your package, and " "submitting them upstream." msgstr "" "Die Debian-Richtlinien (Abschnitt 12.1) schreiben vor, dass Handbuchseiten " "jedes Programm, jedes Hilfswerkzeug und jede Funktion begleiten sollten und " "für andere Objekte, wie Konfigurationsdateien, nahegelegt werden. Falls die " "von Ihnen paketierte Arbeit nicht über eine solche Handbuchseite verfügt, " "dann überlegen Sie sich, eine zu schreiben, die Ihrem Paket beigefügt und an " "die Originalautoren gesandt wird." #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1516 msgid "" "The manpages do not need to be written directly in the troff format. " "Popular source formats are Docbook, POD and reST, which can be converted " "using <command>xsltproc</command>, <command>pod2man</command> and " "<command>rst2man</command> respectively. To a lesser extent, the " "<command>help2man</command> program can also be used to write a stub." msgstr "" "Die Handbuchseiten müssen nicht direkt im Troff-Format geschrieben werden. " "Beliebte Quellformate sind Docbook, POD und reST, die mit " "<command>xsltproc</command>, <command>pod2man</command> beziehungsweise " "<command>rst2man</command> umgewandelt werden können. In geringerem Maße kann " "außerdem das Programm <command>help2man</command> benutzt werden, um einen " "Abschnitt zu schreiben." #. type: Content of: <chapter><section><section><title> #: best-pkging-practices.dbk:1525 msgid "Specific types of packages" msgstr "Besondere Pakettypen" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1527 msgid "" "Several specific types of packages have special sub-policies and " "corresponding packaging rules and practices:" msgstr "" "Mehrere besondere Typen von Paketen haben spezielle Unterrichtlinien und " "zugehörige Paketierungsregeln und -Vorgehensweisen:" #. type: Content of: <chapter><section><section><itemizedlist><listitem><para> #: best-pkging-practices.dbk:1533 msgid "" "Perl related packages have a <ulink url=\"&url-perl-policy;\">Perl " "policy</ulink>, some examples of packages following that policy are " "<systemitem role=\"package\">libdbd-pg-perl</systemitem> (binary perl " "module) or <systemitem role=\"package\">libmldbm-perl</systemitem> (arch " "independent perl module)." msgstr "" "Perl zugehörige Pakete haben eine <ulink " "url=\"&url-perl-policy;\">Perl-Richtlinie</ulink>. Einige Beispiele für " "Pakete, die dieser Richtlinie folgen, sind <systemitem " "role=\"package\">libdbd-pg-perl</systemitem> (binäres Perl-Modul) oder " "<systemitem role=\"package\">libmldbm-perl</systemitem> " "(architekturunabhängiges Perl-Modul)." #. type: Content of: <chapter><section><section><itemizedlist><listitem><para> #: best-pkging-practices.dbk:1542 msgid "" "Python related packages have their python policy; see &file-python-policy; " "in the <systemitem role=\"package\">python</systemitem> package." msgstr "" "Python zugehörige Pakete haben ihre Python-Richtlinie. Siehe " "&file-python-policy; im Paket <systemitem " "role=\"package\">python</systemitem>." #. type: Content of: <chapter><section><section><itemizedlist><listitem><para> #: best-pkging-practices.dbk:1549 msgid "" "Emacs related packages have the <ulink url=\"&url-emacs-policy;\">emacs " "policy</ulink>." msgstr "" "Emacs zugehörige Pakete haben die <ulink " "url=\"&url-emacs-policy;\">Emacs-Richtlinie</ulink>." #. type: Content of: <chapter><section><section><itemizedlist><listitem><para> #: best-pkging-practices.dbk:1556 msgid "" "Java related packages have their <ulink url=\"&url-java-policy;\">java " "policy</ulink>." msgstr "" "Java zugehörige Pakete haben ihre <ulink " "url=\"&url-java-policy;\">Java-Richtlinie</ulink>." #. type: Content of: <chapter><section><section><itemizedlist><listitem><para> #: best-pkging-practices.dbk:1563 msgid "" "Ocaml related packages have their own policy, found in &file-ocaml-policy; " "from the <systemitem role=\"package\">ocaml</systemitem> package. A good " "example is the <systemitem role=\"package\">camlzip</systemitem> source " "package." msgstr "" "Ocaml zugehörige Pakete haben ihre eigene Richtlinie, die unter " "&file-ocaml-policy; im Paket <systemitem role=\"package\">ocaml</systemitem> " "gefunden werden kann. Ein gutes Beispiel ist das Quellpaket <systemitem " "role=\"package\">camlzip</systemitem>." #. type: Content of: <chapter><section><section><itemizedlist><listitem><para> #: best-pkging-practices.dbk:1571 msgid "" "Packages providing XML or SGML DTDs should conform to the recommendations " "found in the <systemitem role=\"package\">sgml-base-doc</systemitem> " "package." msgstr "" "Pakete, die XML- oder SGML-DTDs bereitstellen, sollten konform zu den " "Empfehlungen in Paket <systemitem role=\"package\">sgml-base-doc</systemitem> " "sein." #. type: Content of: <chapter><section><section><itemizedlist><listitem><para> #: best-pkging-practices.dbk:1577 msgid "" "Lisp packages should register themselves with <systemitem " "role=\"package\">common-lisp-controller</systemitem>, about which see " "&file-lisp-controller;." msgstr "" "Lisp-Pakete sollten sich selbst mit <systemitem " "role=\"package\">common-lisp-controller</systemitem> registrieren. Siehe dazu " "&file-lisp-controller;." #. type: Content of: <chapter><section><section><title> #: best-pkging-practices.dbk:1607 msgid "Architecture-independent data" msgstr "Architekturunabhängige Daten" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1609 msgid "" "It is not uncommon to have a large amount of architecture-independent data " "packaged with a program. For example, audio files, a collection of icons, " "wallpaper patterns, or other graphic files. If the size of this data is " "negligible compared to the size of the rest of the package, it's probably " "best to keep it all in a single package." msgstr "" "Es ist nicht unüblich, eine größere Menge architekturunabhängiger Daten mit " "einem Programm zu paketieren, Zum Beispiel Audiodateien, eine Symbolsammlung, " "Hintergrundmuster oder grafische Dateien. Falls die Größe dieser Daten " "vernachlässigbar im Vergleich zum Rest des Pakets ist, ist es wahrscheinlich " "am besten, alles in einem einzelnen Paket zu halten." #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1616 msgid "" "However, if the size of the data is considerable, consider splitting it out " "into a separate, architecture-independent package " "(<filename>_all.deb</filename>). By doing this, you avoid needless " "duplication of the same data into eleven or more .debs, one per each " "architecture. While this adds some extra overhead into the " "<filename>Packages</filename> files, it saves a lot of disk space on Debian " "mirrors. Separating out architecture-independent data also reduces " "processing time of <command>lintian</command> (see <xref " "linkend=\"tools-lint\"/>) when run over the entire Debian archive." msgstr "" "Ist die Größe allerdings beachtlich, denken Sie darüber nach, sie in ein " "separates architekturunabhängiges Paket (<filename>_all.deb</filename>) " "auszulagern. Imdem Sie dies tun, vermeiden Sie nutzlose Vervielfältigung der " "gleichen Daten in elf oder mehr .debs, eins je Architektur. Indem dies " "einigen zusätzlichen Zuschlag zu den <filename>Packages</filename>-Dateien " "hinzufügt, spart es viel Plattenplatz auf Debian-Spiegeln. Das Heraustrennen " "architekturunabhängiger Daten vermindert auch die Ausführungszeit von " "<command>lintian</command> (siehe <xref linkend=\"tools-lint\"/>), wenn es " "für das ganze Debian-Archiv ausgeführt wird." #. type: Content of: <chapter><section><section><title> #: best-pkging-practices.dbk:1628 msgid "Needing a certain locale during build" msgstr "Eine bestimmte Locale wird während des Builds benötigt" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1630 msgid "" "If you need a certain locale during build, you can create a temporary file " "via this trick:" msgstr "" "Falls Sie eine bestimmte Locale während des Builds benötigen, können Sie " "mittels dieses Tricks eine temporäre Datei erstellen:" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1634 msgid "" "If you set <varname>LOCPATH</varname> to the equivalent of " "<filename>/usr/lib/locale</filename>, and <varname>LC_ALL</varname> to the " "name of the locale you generate, you should get what you want without being " "root. Something like this:" msgstr "" "Falls Sie <varname>LOCPATH</varname> auf die Entsprechung von " "<filename>/usr/lib/locale</filename> und <varname>LC_ALL</varname> auf den " "Namen der Locale setzen, die sie generieren, sollten Sie erreichen, was Sie " "möchten ohne dass Sie Root sind. Etwas wie Folgendes:" #. type: Content of: <chapter><section><section><screen> #: best-pkging-practices.dbk:1639 #, no-wrap msgid "" "LOCALE_PATH=debian/tmpdir/usr/lib/locale\n" "LOCALE_NAME=en_IN\n" "LOCALE_CHARSET=UTF-8\n" "\n" "mkdir -p $LOCALE_PATH\n" "localedef -i $LOCALE_NAME.$LOCALE_CHARSET -f $LOCALE_CHARSET " "$LOCALE_PATH/$LOCALE_NAME.$LOCALE_CHARSET\n" "\n" "# Using the locale\n" "LOCPATH=$LOCALE_PATH LC_ALL=$LOCALE_NAME.$LOCALE_CHARSET date\n" msgstr "" "LOCALE_PATH=debian/tmpdir/usr/lib/locale\n" "LOCALE_NAME=en_IN\n" "LOCALE_CHARSET=UTF-8\n" "\n" "mkdir -p $LOCALE_PATH\n" "localedef -i $LOCALE_NAME.$LOCALE_CHARSET -f $LOCALE_CHARSET " "$LOCALE_PATH/$LOCALE_NAME.$LOCALE_CHARSET\n" "\n" "# Using the locale\n" "LOCPATH=$LOCALE_PATH LC_ALL=$LOCALE_NAME.$LOCALE_CHARSET date\n" #. type: Content of: <chapter><section><section><title> #: best-pkging-practices.dbk:1652 msgid "Make transition packages deborphan compliant" msgstr "Machen Sie vorübergehende Pakete Deborphan-konform" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1654 msgid "" "Deborphan is a program for helping users to detect which packages can safely " "be removed from the system, i.e. the ones that have no packages depending " "on them. The default operation is to search only within the libs and " "oldlibs sections, to hunt down unused libraries. But when passed the right " "argument, it tries to catch other useless packages." msgstr "" "Deborphan ist ein Programm, das Anwendern hilft Pakete aufzuspüren, die " "sicher vom System entfernt werden können, d.h. diejenigen, von denen keine " "Pakete abhängen. Die Standardoperation ist, nur innerhalb der Abschnitte " "»libs« und »oldlibs« zu suchen, um Jagd auf unbenutzte Bibliotheken zu " "machen. Wenn aber das richtige Argument übergeben wird, versucht es auch " "andere nutzlose Pakete zu erwischen." #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1661 msgid "" "For example, with <literal>--guess-dummy</literal>, " "<command>deborphan</command> tries to search all transitional packages which " "were needed for upgrade but which can now safely be removed. For that, it " "looks for the string dummy or transitional in their short description." msgstr "" "Mit <literal>--guess-dummy</literal> versucht <command>deborphan</command> " "zum Beispiel alle vorübergehenden Pakete zu suchen, die zum Upgrade benötigt " "wurden, die nun aber sicher entfernt werden können. Dazu sucht es nach den " "Zeichenketten »dummy« oder »transitional« in dessen Kurzbeschreibung." #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1668 msgid "" "So, when you are creating such a package, please make sure to add this text " "to your short description. If you are looking for examples, just run: " "<command>apt-cache search .|grep dummy</command> or <command>apt-cache " "search .|grep transitional</command>." msgstr "" "Wenn Sie also solch ein Paket erstellen, achten Sie bitte darauf, diesen Text " "zu Ihrer Kurzbeschreibung hinzuzufügen. Falls Sie sich nach Beispielen " "umsehen, führen Sie einfach <command>apt-cache search .|grep dummy</command> " "oder <command>apt-cache search .|grep transitional</command> aus." #. type: Content of: <chapter><section><section><title> #: best-pkging-practices.dbk:1676 msgid "Best practices for <filename>.orig.tar.{gz,bz2,lzma}</filename> files" msgstr "" "Optimale Vorgehensweisen für " "<filename>.orig.tar.{gz,bz2,lzma}</filename>-Dateien" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1678 msgid "" "There are two kinds of original source tarballs: Pristine source and " "repackaged upstream source." msgstr "" "Es gibt zwei Arten von Original-Quell-Tarballs: unberührte Quellen und neu " "paketierte Quellen der Originalautoren." #. type: Content of: <chapter><section><section><section><title> #: best-pkging-practices.dbk:1682 msgid "Pristine source" msgstr "Unberührte Quellen" #. type: Content of: <chapter><section><section><section><para><footnote><para> #: best-pkging-practices.dbk:1686 msgid "" "We cannot prevent upstream authors from changing the tarball they distribute " "without also incrementing the version number, so there can be no guarantee " "that a pristine tarball is identical to what upstream " "<emphasis>currently</emphasis> distributing at any point in time. All that " "can be expected is that it is identical to something that upstream once " "<emphasis>did</emphasis> distribute. If a difference arises later (say, if " "upstream notices that he wasn't using maximal compression in his original " "distribution and then re-<command>gzip</command>s it), that's just too bad. " "Since there is no good way to upload a new " "<filename>.orig.tar.{gz,bz2,lzma}</filename> for the same version, there is " "not even any point in treating this situation as a bug." msgstr "" "Originalautoren können nicht daran gehindert werden, den Tarball, den sie " "verteilen, zu ändern ohne die Versionsnummer zu erhöhen, daher kann nicht " "gewährleistet werden, dass ein unberührter Tarball mit dem identisch ist, was " "die Originalautoren <emphasis>aktuell</emphasis> zu irgendeinem Zeitpunkt " "weitergeben. Alles was erwartet werden kann, ist, dass es identisch ist mit " "etwas ist, das die Originalautoren einmal weitergegeben " "<emphasis>haben</emphasis>. Falls sich später ein Unterschied ergibt (etwa, " "wenn die Originalautoren merken, dass sie in ihrer Distribution des Originals " "keine maximale Komprimierung nutzen und es dann erneut mit " "<command>gzip</command> packen), ist das einfach Pech. Da es keine brauchbare " "Möglichkeit gibt, ein neues <filename>.orig.tar.{gz,bz2,lzma}</filename> für " "die gleiche Version hochzuladen, gibt es auch keinen Punkt, an dem diese " "Situation als ein Fehler behandelt wird." #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1684 msgid "" "The defining characteristic of a pristine source tarball is that the " "<filename>.orig.tar.{gz,bz2,lzma}</filename> file is byte-for-byte identical " "to a tarball officially distributed by the upstream author.<placeholder " "type=\"footnote\" id=\"0\"/> This makes it possible to use checksums to " "easily verify that all changes between Debian's version and upstream's are " "contained in the Debian diff. Also, if the original source is huge, " "upstream authors and others who already have the upstream tarball can save " "download time if they want to inspect your packaging in detail." msgstr "" "Das charakteristische Merkmal eines unberührten Tarballs ist, dass die " "<filename>.orig.tar.{gz,bz2,lzma}</filename>-Datei Byte für Byte identisch " "mit einem offiziell weitergegebenen Tarball des Originalautors " "ist.<placeholder type=\"footnote\" id=\"0\"/> Dies ermöglicht die Benutzung " "von Prüfsummen, um auf einfache Weise alle Änderungen zwischen Debians " "Version und der der Originalautoren zu prüfen, die in der Diff-Datei in " "Debian enthalten sind. Falls außerdem die Originalquelle riesig ist, können " "Originalautoren und andere, die bereits den Original-Tarball haben, " "Download-Zeit sparen, falls sie Ihre Paketierung im Detail inspizieren " "möchten." #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1704 msgid "" "There is no universally accepted guidelines that upstream authors follow " "regarding to the directory structure inside their tarball, but " "<command>dpkg-source</command> is nevertheless able to deal with most " "upstream tarballs as pristine source. Its strategy is equivalent to the " "following:" msgstr "" "Es gibt keine allgemein anerkannten Richtlinien, denen Originalautoren " "betreffend der Verzeichnisstruktur innerhalb ihres Tarballs folgen, aber " "<command>dpkg-source</command> ist dennoch in der Lage mit den meisten " "Tarballs von Originalautoren als unberührte Quelle umzugehen. Seine Strategie " "entspricht dem Folgenden:" #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #: best-pkging-practices.dbk:1712 msgid "It unpacks the tarball in an empty temporary directory by doing" msgstr "Es entpackt den Tarball in eine leeres temporäres Verzeichnis mittels" #. type: Content of: <chapter><section><section><section><orderedlist><listitem><screen> #: best-pkging-practices.dbk:1715 #, no-wrap msgid "" "zcat " "path/to/<replaceable>packagename</replaceable>_<replaceable>upstream-version</replaceable>.orig.tar.gz " "| tar xf -\n" msgstr "" "zcat " "path/to/<replaceable>Paketname</replaceable>_<replaceable>Originalversion" "</replaceable>.orig.tar.gz | tar xf -\n" #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #: best-pkging-practices.dbk:1720 msgid "" "If, after this, the temporary directory contains nothing but one directory " "and no other files, <command>dpkg-source</command> renames that directory to " "<filename><replaceable>packagename</replaceable>-<replaceable>upstream-version</replaceable>(.orig)</filename>. " "The name of the top-level directory in the tarball does not matter, and is " "forgotten." msgstr "" "Falls das temporäre Verzeichnis danach nur ein Verzeichnis und keine anderen " "Dateien enthält, benennt <command>dpkg-source</command> dieses Verzeichnis in " "<replaceable>Paketname</replaceable>_<replaceable>Originalversion" "</replaceable>(.orig)</filename> um. Der Name des Verzeichnisses auf der " "obersten Ebene im Tarball ist ohne Bedeutung und geht verloren." #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #: best-pkging-practices.dbk:1729 msgid "" "Otherwise, the upstream tarball must have been packaged without a common " "top-level directory (shame on the upstream author!). In this case, " "<command>dpkg-source</command> renames the temporary directory " "<emphasis>itself</emphasis> to " "<filename><replaceable>packagename</replaceable>-<replaceable>upstream-version</replaceable>(.orig)</filename>." msgstr "" "Andernfalls muss der Tarball der Originalautoren ohne ein sonst übliches " "Verzeichnis der obersten Ebene gepackt worden sein (Schande über den " "Originalautor!). In diesem Fall benennt <command>dpkg-source</command> das " "temporäre Verzeichnis <emphasis>selbst</emphasis> in <replaceable>Paketname" "</replaceable>_<replaceable>Originalversion</replaceable>(.orig)</filename> " "um." #. type: Content of: <chapter><section><section><section><title> #: best-pkging-practices.dbk:1740 msgid "Repackaged upstream source" msgstr "Neu paketierte Originalquelle" #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1742 msgid "" "You <emphasis role=\"strong\">should</emphasis> upload packages with a " "pristine source tarball if possible, but there are various reasons why it " "might not be possible. This is the case if upstream does not distribute the " "source as gzipped tar at all, or if upstream's tarball contains " "non-DFSG-free material that you must remove before uploading." msgstr "" "Sie <emphasis role=\"strong\">sollten</emphasis> Pakete, wenn möglich, mit " "einem unberührten Quell-Tarball hochladen, aber es gibt viele Gründe, warum " "das manchmal nicht möglich ist. Dies ist der Fall, wenn die Originalautoren " "die Quelle gar nicht als Gzip-gepackte Tar-Datei weitergeben oder falls der " "Tarball der Originalautoren nicht DFSG-freies Material enthält, das Sie vor " "den Hochladen entfernen müssen." #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1749 msgid "" "In these cases the developer must construct a suitable " "<filename>.orig.tar.{gz,bz2,lzma}</filename> file himself. We refer to such " "a tarball as a repackaged upstream source. Note that a repackaged upstream " "source is different from a Debian-native package. A repackaged source still " "comes with Debian-specific changes in a separate " "<filename>.diff.gz</filename> or " "<filename>.debian.tar.{gz,bz2,lzma}</filename> and still has a version " "number composed of <replaceable>upstream-version</replaceable> and " "<replaceable>debian-version</replaceable>." msgstr "" "In diesen Fällen muss der Entwickler selbst eine geeignete " "<filename>.orig.tar.{gz,bz2,lzma}</filename>-Datei bauen. Solch ein Tarball " "wird neu paketierten Originalquellen zugeordnet. Beachten Sie, dass sich eine " "neu paketierte Originalquelle von einem nativen Debian-Paket unterscheidet. " "Eine neu paketierte Quelle kommt mit Debian-spezifischen Änderungen in einem " "separaten <filename>.diff.gz</filename> oder " "<filename>.debian.tar.{gz,bz2,lzma}</filename> daher und hat eine " "Versionsnummer, die sich aus der <replaceable>Originalversion</replaceable> " "und der <replaceable>Debian-version</replaceable> zusammensetzt." #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1758 msgid "" "There may be cases where it is desirable to repackage the source even though " "upstream distributes a <filename>.tar.{gz,bz2,lzma}</filename> that could in " "principle be used in its pristine form. The most obvious is if " "<emphasis>significant</emphasis> space savings can be achieved by " "recompressing the tar archive or by removing genuinely useless cruft from " "the upstream archive. Use your own discretion here, but be prepared to " "defend your decision if you repackage source that could have been pristine." msgstr "" "Es könnte Gründe geben, aus denen es wünschenswert wäre, die Quelle neu zu " "paketieren, obwohl die Originalautoren ein " "<filename>.tar.{gz,bz2,lzma}</filename> verteilen, dass im Prinzip in seiner " "unberührten Form benutzt werden könnte. Der naheliegendste Grund ist, wenn " "<emphasis>signifikante</emphasis> Platzersparnis durch Neukomprimierung des " "Tar-Archivs oder Entfernen von wirklich nutzlosem Müll aus dem Qriginalarchiv " "erzielt werden kann. Handeln Sie hier nach eigenem Ermessen, aber seien Sie " "darauf vorbereitet, Ihre Entscheidung zu verteidigen, falls Sie eine Quelle " "neu paketieren, die unberührt sein könnte." #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1767 msgid "A repackaged <filename>.orig.tar.{gz,bz2,lzma}</filename>" msgstr "Ein neu paketiertes <filename>.orig.tar.{gz,bz2,lzma}</filename>" #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #: best-pkging-practices.dbk:1772 msgid "" "<emphasis role=\"strong\">should</emphasis> be documented in the resulting " "source package. Detailed information on how the repackaged source was " "obtained, and on how this can be reproduced should be provided in " "<filename>debian/copyright</filename>. It is also a good idea to provide a " "<literal>get-orig-source</literal> target in your " "<filename>debian/rules</filename> file that repeats the process, as " "described in the Policy Manual, <ulink " "url=\"&url-debian-policy;ch-source.html#s-debianrules\">Main building " "script: <filename>debian/rules</filename></ulink>." msgstr "" "<emphasis role=\"strong\">sollte</emphasis> im resultierenden Quellpaket " "dokumentiert sein. Detaillierte Informationen, wie die neu paketierte Quelle " "gewonnen wurde und wie dies reproduziert werden kann, sollten in " "<filename>debian/copyright</filename> bereitgestellt werden. Es ist außerdem " "eine gute Idee, ein <literal>get-orig-source</literal>-Target in Ihrer " "<filename>debian/rules</filename>-Datei bereitzustellen, die den Prozess " "wiederholt, wie im Richtlinien-Handbuch beschrieben <ulink " "url=\"&url-debian-policy;ch-source.html#s-debianrules\">Main building " "script: <filename>debian/rules</filename></ulink>." #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para><footnote><para> #: best-pkging-practices.dbk:1787 msgid "" "As a special exception, if the omission of non-free files would lead to the " "source failing to build without assistance from the Debian diff, it might be " "appropriate to instead edit the files, omitting only the non-free parts of " "them, and/or explain the situation in a <filename>README.source</filename> " "file in the root of the source tree. But in that case please also urge the " "upstream author to make the non-free components easier separable from the " "rest of the source." msgstr "" "Als besondere Ausnahme könnte, falls das Auslassen unfreier Dateien dazu " "führen würde, dass das Build der Quelle ohne Unterstützung aus dem " "Debian-Diff fehlschlägt, das Bearbeiten der Dateien anstelle des Weglassens " "unfreier Teile davon und/oder Erklären der Situation in einer " "<filename>README.source</filename>-Datei im Wurzelverzeichnis der Quelle " "angemessen sein. Ermahnen Sie in diesem Fall aber auch den Originalautor, " "unfreie Komponenten leichter aus dem Quelltext heraustrennbar zu machen." #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #: best-pkging-practices.dbk:1785 msgid "" "<emphasis role=\"strong\">should not</emphasis> contain any file that does " "not come from the upstream author(s), or whose contents has been changed by " "you.<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<emphasis role=\"strong\">sollte keine</emphasis> Datei enthalten, die nicht " "von dem/den Origianlautor(en) stammt oder deren Inhalt von Ihnen " "geändert wurde.<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #: best-pkging-practices.dbk:1798 msgid "" "<emphasis role=\"strong\">should</emphasis>, except where impossible for " "legal reasons, preserve the entire building and portablility infrastructure " "provided by the upstream author. For example, it is not a sufficient reason " "for omitting a file that it is used only when building on MS-DOS. " "Similarly, a <filename>Makefile</filename> provided by upstream should not " "be omitted even if the first thing your <filename>debian/rules</filename> " "does is to overwrite it by running a configure script." msgstr "" "<emphasis role=\"strong\">sollte</emphasis> außer, wenn es aus rechtlichen " "Gründen unmöglich ist, die ganze Erstellungs- und Portierungsinfrastruktur " "aufbewahren, die vom Originalautor bereitgestellt wurde. Es ist zum Beispiel " "kein ausreichender Grund für das Weglassen einer Datei, wenn sie nur für die " "Erstellung unter MS-DOS benutzt wird. Gleichermaßen sollte ein " "<filename>Makefile</filename>, das vom Originalautor bereitgestellt wurde " "nicht einmal dann weggelassen werden, wenn das erste, was Ihre " "<filename>debian/rules</filename> tut, das Überschreiben durch Ausführen " "eines Konfigurationsskripts ist." #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #: best-pkging-practices.dbk:1807 msgid "" "(<emphasis>Rationale:</emphasis> It is common for Debian users who need to " "build software for non-Debian platforms to fetch the source from a Debian " "mirror rather than trying to locate a canonical upstream distribution " "point)." msgstr "" "(<emphasis>Begründung:</emphasis> Es ist üblich für Debian-Anwender, die " "Software für nicht-Debian-Plattformen erstellen möchten, die Quellen von " "einem Debian-Spiegel abzurufen, anstatt den Punkt der ordnungsgemäßen " "Originaldistribution zu suchen)." #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #: best-pkging-practices.dbk:1814 msgid "" "<emphasis role=\"strong\">should</emphasis> use " "<filename><replaceable>packagename</replaceable>-<replaceable>upstream-version</replaceable>.orig</filename> " "as the name of the top-level directory in its tarball. This makes it " "possible to distinguish pristine tarballs from repackaged ones." msgstr "" "<emphasis role=\"strong\">sollte</emphasis> als Namen des Verzeichnisses auf " "der obersten Ebene des Tarballs <filename><replaceable>Paketname" "</replaceable>-<replaceable>Originalversion</replaceable>.orig</filename> " "benutzen. Dies ermöglicht die Unterscheidung von unberührten und neu " "paketierten Tarballs." #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #: best-pkging-practices.dbk:1822 msgid "" "<emphasis role=\"strong\">should</emphasis> be gzipped or bzipped with " "maximal compression." msgstr "" "<emphasis role=\"strong\">sollte</emphasis> mit Gzip oder Bzip mit der " "maximalen Komprimierung gepackt werden." #. type: Content of: <chapter><section><section><section><title> #: best-pkging-practices.dbk:1829 msgid "Changing binary files" msgstr "Ändern binärer Dateien" #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1831 msgid "" "Sometimes it is necessary to change binary files contained in the original " "tarball, or to add binary files that are not in it. This is fully supported " "when using source packages in “3.0 (quilt)” format, see the " "<citerefentry><refentrytitle>dpkg-source</refentrytitle><manvolnum>1</manvolnum></citerefentry> " "manual page for details. When using the older format “1.0”, binary files " "can't be stored in the <filename>.diff.gz</filename> so you must store an " "<command>uuencode</command>d (or similar) version of the file(s) and decode " "it at build time in <filename>debian/rules</filename> (and move it in its " "official location)." msgstr "" "Manchmal ist es nötig, binäre Dateien zu ändern, die im Original-Tarball " "enthalten sind oder binäre Dateien hinzuzufügen, die nicht darin enthalten " "sind. Dies wird vollständig unterstützt, wenn Sie Quellpakete im Format " "»3.0 (quilt)« benutzen. Lesen Sie die Handbuchseite <citerefentry>" "<refentrytitle>dpkg-source</refentrytitle><manvolnum>1</manvolnum>" "</citerefentry>, um weitere Einzelheiten zu erfahren. Wenn Sie das ältere " "Format »1.0« benutzen, können binäre Dateien nicht im " "<filename>.diff.gz</filename> gespeichert werden, daher müssen Sie eine mit " "<command>uuencode</command> (oder ähnlichem) kodierte Version der Datei(en) " "speichern und zur Erstellungszeit in <filename>debian/rules</filename> " "entschlüsseln (und an ihren offiziellen Platz verschieben)." #. type: Content of: <chapter><section><section><title> #: best-pkging-practices.dbk:1846 msgid "Best practices for debug packages" msgstr "Optimale Vorgehensweisen für Debug-Pakete" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1848 msgid "" "A debug package is a package with a name ending in -dbg, that contains " "additional information that <command>gdb</command> can use. Since Debian " "binaries are stripped by default, debugging information, including function " "names and line numbers, is otherwise not available when running " "<command>gdb</command> on Debian binaries. Debug packages allow users who " "need this additional debugging information to install it, without bloating a " "regular system with the information." msgstr "" "Ein Debug-Paket ist ein Paket, dessen Name mit -dbg endet. Es enthält " "zusätzliche Informationen, die <command>gdb</command> benutzen kann. Da " "Debian-Programme standardmäßig unverhüllt sind, sind Debugging-Informationen, " "einschließlich Namen und Zeilennummern andernfalls nicht verfügbar, wenn " "<command>gdb</command> auf Debian-Programmen ausgeführt wird. Debug-Pakete " "ermöglichen Anwendern, die diese zusätzlichen Debugging-Informationen " "benötigen, sie zu installieren ohne das normale System mit diesen " "Informationen aufzublähen." #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1856 msgid "" "It is up to a package's maintainer whether to create a debug package or " "not. Maintainers are encouraged to create debug packages for library " "packages, since this can aid in debugging many programs linked to a " "library. In general, debug packages do not need to be added for all " "programs; doing so would bloat the archive. But if a maintainer finds that " "users often need a debugging version of a program, it can be worthwhile to " "make a debug package for it. Programs that are core infrastructure, such as " "apache and the X server are also good candidates for debug packages." msgstr "" "Es liegt beim Paketbetreuer, ob ein Debug-Paket erstellt wird oder nicht. " "Betreuer werden aufgefordert Debug-Pakete für Bibliothekenpakete zu " "erstellen, da dies bei der Fehlersuche in vielen Programmen helfen kann, die " "mit der Bibliothek verlinkt werden. Im Allgemeinen gibt es keine " "Notwendigkeit für Debug-Pakete zu allen Programmen; dies würde das Archiv " "aufblähen. Falls aber ein Betreuer findet, dass Anwender oft die " "Debugging-Version eines Programms benötigen, kann es lohnenswert sein, ein " "Debug-Paket dafür zu erstellen. Programme die zur Kerninfrastruktur gehören, " "wie Apache oder der X-Server sind ebenfalls geeignete Kandidaten für " "Debug-Pakete." #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1866 msgid "" "Some debug packages may contain an entire special debugging build of a " "library or other binary, but most of them can save space and build time by " "instead containing separated debugging symbols that <command>gdb</command> " "can find and load on the fly when debugging a program or library. The " "convention in Debian is to keep these symbols in " "<filename>/usr/lib/debug/<replaceable>path</replaceable></filename>, where " "<replaceable>path</replaceable> is the path to the executable or library. " "For example, debugging symbols for <filename>/usr/bin/foo</filename> go in " "<filename>/usr/lib/debug/usr/bin/foo</filename>, and debugging symbols for " "<filename>/usr/lib/libfoo.so.1</filename> go in " "<filename>/usr/lib/debug/usr/lib/libfoo.so.1</filename>." msgstr "" "Einige Debug-Pakete könnten ein ganz spezielles Debugging-Build einer " "Bibliothek oder eines anderen Programms haben, aber die meisten können " "Speicher und Build-Zeit sparen, indem sie stattdessen separate " "Debugging-Symbole enthalten, die <command>gdb</command> spontan finden und " "laden kann, wenn in einem Programm oder einer Bibliothek nach Fehlern gesucht " "wird. Die Konvention in Debian besagt, dass diese Symbole in " "<filename>/usr/lib/debug/<replaceable>Pfad</replaceable></filename> " "aufbewahrt werden, wobei <replaceable>Pfad</replaceable> der Pfad zum " "ausführbaren Programm oder der Bibliothek ist. Debugging-Symbole für " "<filename>/usr/bin/foo</filename> wandern beispielsweise nach " "<filename>/usr/lib/debug/usr/bin/foo</filename> und Debugging-Symbole für " "<filename>/usr/lib/libfoo.so.1</filename> nach " "<filename>/usr/lib/debug/usr/lib/libfoo.so.1</filename>." #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1878 msgid "" "The debugging symbols can be extracted from an object file using " "<command>objcopy --only-keep-debug</command>. Then the object file can be " "stripped, and <command>objcopy --add-gnu-debuglink</command> used to specify " "the path to the debugging symbol file. <citerefentry> " "<refentrytitle>objcopy</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry> explains in detail how this works." msgstr "" "Die Debugging-Symbole können mit <command>objcopy --only-keep-debug</command> " "aus einer Objektdatei extrahiert werden. Dann kann die Objektdatei enthüllt " "und <command>objcopy --add-gnu-debuglink</command> benutzt werden, um den " "Pfad zur Debugging-Symboldatei anzugeben. <citerefentry> " "<refentrytitle>objcopy</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry> erklärt im Detail, wie dies funktioniert." #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1886 msgid "" "The <command>dh_strip</command> command in <systemitem " "role=\"package\">debhelper</systemitem> supports creating debug packages, " "and can take care of using <command>objcopy</command> to separate out the " "debugging symbols for you. If your package uses <systemitem " "role=\"package\">debhelper</systemitem>, all you need to do is call " "<command>dh_strip --dbg-package=libfoo-dbg</command>, and add an entry to " "<filename>debian/control</filename> for the debug package." msgstr "" "Der Befehl <command>dh_strip</command> in <systemitem " "role=\"package\">debhelper</systemitem> unterstützt das Erstellen von " "Debug-Paketen und kann sich um die Benutzung von <command>objcopy</command> " "kümmern, um die Debugging-Symbole für Sie herauszusuchen. Falls Ihr Paket " "<systemitem role=\"package\">debhelper</systemitem> benutzt, müssen Sie nur " "<command>dh_strip --dbg-package=libfoo-dbg</command> aufrufen und einen " "Eintrag in <filename>debian/control</filename> für das Debug-Paket hinzufügen." #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1893 msgid "" "Note that the debug package should depend on the package that it provides " "debugging symbols for, and this dependency should be versioned. For " "example:" msgstr "" "Beachten Sie, dass Debug-Pakete von dem Paket abhängen sollten, für das sie " "Debugging-Symbole bereitstellen und diese Abhängigkeit sollte mit einer " "Version versehen werden. Zum Beispiel:" #. type: Content of: <chapter><section><section><screen> #: best-pkging-practices.dbk:1897 #, no-wrap msgid "Depends: libfoo (= ${binary:Version})\n" msgstr "Depends: libfoo (= ${binary:Version})\n"