# 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: 2012-01-10 17:48-0400\n" "PO-Revision-Date: 2011-10-04 18:06+0200\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." # s/as/is/ #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:225 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." # FIXME Die folgenden Einträge gehören nicht in die POT-Schablone #. type: Content of: <chapter><section><section><screen> #: best-pkging-practices.dbk:513 #, no-wrap 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 " "<command>msguntypot</command> (part of the <systemitem role=\"package" "\">po4a</systemitem> package)." msgstr "" #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #: best-pkging-practices.dbk:840 msgid "Regenerate the POT and PO files." msgstr "" #. type: Content of: <chapter><section><section><section><orderedlist><listitem><programlisting> #: best-pkging-practices.dbk:842 best-pkging-practices.dbk:865 #, no-wrap msgid "debconf-updatepo" msgstr "" #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #: best-pkging-practices.dbk:846 msgid "Make a copy of the POT file." msgstr "" #. type: Content of: <chapter><section><section><section><orderedlist><listitem><programlisting> #: best-pkging-practices.dbk:848 #, no-wrap msgid "cp templates.pot templates.pot.orig" msgstr "" #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #: best-pkging-practices.dbk:852 msgid "Make a copy of all the PO files." msgstr "" #. type: Content of: <chapter><section><section><section><orderedlist><listitem><programlisting> #: best-pkging-practices.dbk:854 #, no-wrap msgid "mkdir po_fridge; cp *.po po_fridge" msgstr "" #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #: best-pkging-practices.dbk:858 #, fuzzy #| msgid "Change the debconf template file to fix the typo." msgid "Change the debconf template files to fix the typos." 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:863 msgid "Regenerate the POT and PO files (again)." msgstr "" #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #: best-pkging-practices.dbk:867 msgid "" "At this point, the typo fix fuzzied all the translations, and this " "unfortunate change is the only one between the PO files of your main " "directory and the one from the fridge. Here is how to solve this." msgstr "" #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #: best-pkging-practices.dbk:874 msgid "Discard fuzzy translation, restore the ones from the fridge." msgstr "" #. type: Content of: <chapter><section><section><section><orderedlist><listitem><programlisting> #: best-pkging-practices.dbk:876 #, no-wrap msgid "cp po_fridge/*.po ." msgstr "" #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #: best-pkging-practices.dbk:880 msgid "" "Manually merge the PO files with the new POT file, but taking the useless " "fuzzy into account." msgstr "" #. type: Content of: <chapter><section><section><section><orderedlist><listitem><programlisting> #: best-pkging-practices.dbk:882 #, no-wrap msgid "msguntypot -o templates.pot.orig -n templates.pot *.po" msgstr "" #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #: best-pkging-practices.dbk:886 msgid "Clean up." msgstr "" #. type: Content of: <chapter><section><section><section><orderedlist><listitem><programlisting> #: best-pkging-practices.dbk:888 #, no-wrap msgid "rm -rf templates.pot.orig po_fridge" msgstr "" #. type: Content of: <chapter><section><section><section><title> #: best-pkging-practices.dbk:894 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:896 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:901 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:907 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:913 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:915 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:925 msgid "Be gender neutral" msgstr "Formulieren Sie geschlechtsneutral" #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:927 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:935 msgid "Templates fields definition" msgstr "Definition von Schablonenfeldern" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:937 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." # Nicht übersetzen --> siehe Manpage aus letztem String #. type: Content of: <chapter><section><section><section><title> #: best-pkging-practices.dbk:942 msgid "Type" msgstr "Type" #. type: Content of: <chapter><section><section><section><section><title> #: best-pkging-practices.dbk:944 msgid "string" msgstr "string" #. type: Content of: <chapter><section><section><section><section><para> #: best-pkging-practices.dbk:946 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:951 msgid "password" msgstr "password" #. type: Content of: <chapter><section><section><section><section><para> #: best-pkging-practices.dbk:953 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:960 msgid "boolean" msgstr "boolean" #. type: Content of: <chapter><section><section><section><section><para> #: best-pkging-practices.dbk:962 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:968 msgid "select" msgstr "select" #. type: Content of: <chapter><section><section><section><section><para> #: best-pkging-practices.dbk:970 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:975 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:980 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:985 #, 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:993 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:998 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:1006 msgid "multiselect" msgstr "multiselect" #. type: Content of: <chapter><section><section><section><section><para> #: best-pkging-practices.dbk:1008 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:1014 msgid "note" msgstr "note" #. type: Content of: <chapter><section><section><section><section><para> #: best-pkging-practices.dbk:1016 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:1025 msgid "text" msgstr "text" #. type: Content of: <chapter><section><section><section><section><para> #: best-pkging-practices.dbk:1027 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:1032 msgid "error" msgstr "error" #. type: Content of: <chapter><section><section><section><section><para> #: best-pkging-practices.dbk:1034 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:1039 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:1047 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:1049 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:1053 msgid "" "The short description should be kept short (50 characters or so) so that it " "may be accommodated 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:1059 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:1065 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:1069 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:1076 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:1081 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:1087 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:1091 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:1097 msgid "Choices" msgstr "Choices" #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1099 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:1106 msgid "Default" msgstr "Default" #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1108 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:1117 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:1119 msgid "Type field" msgstr "Feld »Type«" #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1121 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:1127 msgid "Description field" msgstr "Feld »Description«" #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1129 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:1133 msgid "String/password templates" msgstr "»string«-/»password«-Schablonen" #. type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para> #: best-pkging-practices.dbk:1137 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:1144 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:1154 msgid "Boolean templates" msgstr "»boolean«-Schablonen" #. type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para> #: best-pkging-practices.dbk:1158 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:1166 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:1174 msgid "Select/Multiselect" msgstr "»select«/»multiselect«" #. type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para> #: best-pkging-practices.dbk:1178 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:1186 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:1196 msgid "Notes" msgstr "»notes«" #. type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para> #: best-pkging-practices.dbk:1200 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:1205 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:1211 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:1226 msgid "Choices field" msgstr "Das Feld »Choices«" #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1228 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:1235 best-pkging-practices.dbk:1273 msgid "Default field" msgstr "Das Feld »Default«" #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1237 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:1242 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:1248 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:1251 #, 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:1262 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:1267 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:1275 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:1279 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:1284 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:1296 msgid "Internationalization" msgstr "Internationalisierung" #. type: Content of: <chapter><section><para> #: best-pkging-practices.dbk:1298 msgid "" "This section contains global information for developers to make translators' " "life easier. More information for translators and developers interested 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:1305 msgid "Handling debconf translations" msgstr "Handhabung von Debconf-Übersetzungen" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1307 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:1313 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:1323 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:1339 msgid "Internationalized documentation" msgstr "Internationalisierte Dokumentation" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1341 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:1346 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:1360 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:1366 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:1378 msgid "Common packaging situations" msgstr "Übliche Paketierungssituationen" #. type: Content of: <chapter><section><section><title> #: best-pkging-practices.dbk:1389 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:1391 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:1403 msgid "Libraries" msgstr "Bibliotheken" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1405 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:1411 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:1418 msgid "Documentation" msgstr "Dokumentation" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1420 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:1425 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:1430 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:1437 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:1443 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:1450 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:1459 msgid "Specific types of packages" msgstr "Besondere Pakettypen" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1461 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:1467 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:1476 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:1483 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:1490 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:1497 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:1505 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:1511 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:1541 msgid "Architecture-independent data" msgstr "Architekturunabhängige Daten" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1543 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:1550 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:1562 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:1564 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:1568 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:1573 #, 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:1586 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:1588 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:1595 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:1602 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><para> #: best-pkging-practices.dbk:1608 msgid "" "Also, it is recommended to adjust its section to <literal>oldlibs</literal> " "and its priority to <literal>extra</literal> in order to ease " "<command>deborphan</command>'s job." msgstr "" "Außerdem wird empfohlen, den Abschnitt in <literal>oldlibs</literal> und die " "Priorität in <literal>extra</literal> anzupassen, um die Arbeit von " "<command>deborphan</command> zu erleichtern." #. type: Content of: <chapter><section><section><title> #: best-pkging-practices.dbk:1617 #, fuzzy #| msgid "" #| "Best practices for <filename>.orig.tar.{gz,bz2,lzma}</filename> files" msgid "Best practices for <filename>.orig.tar.{gz,bz2,xz}</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:1619 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:1623 msgid "Pristine source" msgstr "Unberührte Quellen" #. type: Content of: <chapter><section><section><section><para><footnote><para> #: best-pkging-practices.dbk:1627 #, fuzzy #| 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." 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,xz}</" "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:1625 #, fuzzy #| 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." msgid "" "The defining characteristic of a pristine source tarball is that the " "<filename>.orig.tar.{gz,bz2,xz}</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:1645 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:1653 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:1656 #, 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:1661 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 <filename><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:1670 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 " "<filename><replaceable>Paketname</replaceable>_<replaceable>Originalversion</" "replaceable>(.orig)</filename> um." #. type: Content of: <chapter><section><section><section><title> #: best-pkging-practices.dbk:1681 msgid "Repackaged upstream source" msgstr "Neu paketierte Originalquelle" #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1683 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:1690 #, fuzzy #| 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>." msgid "" "In these cases the developer must construct a suitable <filename>.orig.tar." "{gz,bz2,xz}</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,xz}</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:1699 #, fuzzy #| 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." msgid "" "There may be cases where it is desirable to repackage the source even though " "upstream distributes a <filename>.tar.{gz,bz2,xz}</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:1708 #, fuzzy #| msgid "A repackaged <filename>.orig.tar.{gz,bz2,lzma}</filename>" msgid "A repackaged <filename>.orig.tar.{gz,bz2,xz}</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:1713 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:1728 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:1726 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:1739 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:1748 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:1755 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:1763 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:1770 msgid "Changing binary files" msgstr "Ändern binärer Dateien" #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1772 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:1787 msgid "Best practices for debug packages" msgstr "Optimale Vorgehensweisen für Debug-Pakete" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1789 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:1797 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:1807 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:1819 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:1827 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:1834 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:1838 #, no-wrap msgid "Depends: libfoo (= ${binary:Version})\n" msgstr "Depends: libfoo (= ${binary:Version})\n" #. type: Content of: <chapter><section><section><title> #: best-pkging-practices.dbk:1842 msgid "Best practices for meta-packages" msgstr "Optimale Vorgehensweisen für Meta-Pakete" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1844 msgid "" "A meta-package is a mostly empty package that makes it easy to install a " "coherent set of packages that can evolve over time. It achieves this by " "depending on all the packages of the set. Thanks to the power of APT, the " "meta-package maintainer can adjust the dependencies and the user's system " "will automatically get the supplementary packages. The dropped packages that " "were automatically installed will be also be marked as removal candidates " "(and are even automatically removed by <command>aptitude</command>). " "<systemitem role=\"package\">gnome</systemitem> and <systemitem role=" "\"package\">linux-image-amd64</systemitem> are two examples of meta-packages " "(built by the source packages <systemitem role=\"package\">meta-gnome2</" "systemitem> and <systemitem role=\"package\">linux-latest</systemitem>)." msgstr "" "Ein Meta-Paket ist meist ein leeres Paket, das es vereinfacht, eine " "Zusammenstellung von Paketen zu installieren, die sich im Lauf der Zeit " "weiterentwickeln können. Es erreicht dies, indem es von allen Paketen der " "Zusammenstellung abhängt. Dank der Fähigkeiten von APT kann der Betreuer des " "Meta-Pakets die Abhängigkeiten anpassen und das System des Anwenders wird " "automatisch die zusätzlichen Pakete erhalten. Die weggelassenen Pakete, die " "automatisch installiert wurden, werden außerdem als Kandidaten für das " "Entfernen gekennzeichnet (und werden sogar durch <command>aptitude</command> " "automatisch entfernt). <systemitem role=\"package\">gnome</systemitem> und " "<systemitem role=\"package\">linux-image-amd64</systemitem> sind zwei " "Beispiele für Meta-Pakete (gebaut durch die Quellpakete <systemitem role=" "\"package\">meta-gnome2</systemitem> und <systemitem role=\"package\">linux-" "latest</systemitem>)." #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1858 msgid "" "The long description of the meta-package must clearly document its purpose " "so that the user knows what he will lose if he removes the package. Being " "explicit about the consequences is recommended. This is particularly " "important for meta-packages which are installed during initial installation " "and that have not been explicitly installed by the user. Those tend to be " "important to ensure smooth system upgrades and the user should be " "discouraged from uninstalling them to avoid potential breakages." msgstr "" "Die ausführliche Beschreibung des Meta-Pakets muss ihren Zweck klar " "dokumentieren, so dass der Benutzer weiß, was er verliert, wenn er das Paket " "entfernt. Es wird empfohlen, genau über die Konsequenzen zu informieren. " "Dies ist besonders für Meta-Pakete wichtig, die während der anfänglichen " "Installation installiert werden und nicht explizit durch den Benutzer " "installiert wurden. Diese neigen dazu, wichtig für reibungslose Upgrades des " "Systems zu sein und der Benutzer sollte entmutigt werden, sie zu entfernen, " "um mögliche Schäden zu vermeiden." #~ 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>." #~ msgid "<emphasis>Preventive unfuzzy</emphasis> method:" #~ msgstr "" #~ "Methode <emphasis>Fuzzy-Markierungen präventiv zu entfernen</emphasis>:" #~ 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:" #~ 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" #~ 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." #~ 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>." #~ 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." #~ 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:" #~ 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" #~ msgid "Run <command>debconf-updatepo</command>." #~ msgstr "Führen Sie <command>debconf-updatepo</command> aus." #~ 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:" #~ msgid "msgfmt -o /dev/null --statistics debian/po/foo.po\n" #~ msgstr "msgfmt -o /dev/null --statistics debian/po/foo.po\n" #~ 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." #~ msgid "Gettext utilities method:" #~ msgstr "Methode mit Gettext-Hilfswerkzeugen:" #~ 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):" #~ 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." #~ 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)." #~ 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." #~ msgid "Use the following command:" #~ msgstr "Benutzen Sie den folgenden Befehl:" #~ 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" #~ 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>." #~ msgid "Run <command>debconf-updatepo</command> again." #~ msgstr "Führen Sie erneut <command>debconf-updatepo</command> aus."