Moin, die Handbuchseiten von Dpkg sind nie korrekturgelesen worden. Daher bringe ich sie jetzt so nach und nach hier ein, in Päcken von jeweils ca. 40 Zeichenketten. Anbei Teil 12/77. Für konstruktive Kritik wäre ich dankbar. Vielen Dank & Grüße Helge -- Dr. Helge Kreutzmann debian@helgefjell.de Dipl.-Phys. http://www.helgefjell.de/debian.php 64bit GNU powered gpg signed mail preferred Help keep free software "libre": http://www.ffii.de/
#. type: Plain text #: deb-src-symbols.man #, no-wrap msgid "" " (arch=alpha any-amd64 ia64)64bit_specific_symbol@Base 1.0\n" " (arch=linux-any)linux_specific_symbol@Base 1.0\n" " (arch=!armel)symbol_armel_does_not_have@Base 1.0\n" msgstr "" " (arch=alpha any-amd64 ia64)64bit_specific_symbol@Base 1.0\n" " (arch=linux-any)linux_specific_symbol@Base 1.0\n" " (arch=!armel)symbol_armel_does_not_have@Base 1.0\n" #. type: Plain text #: deb-src-symbols.man msgid "The I<architecture-bits> is either B<32> or B<64>." msgstr "I<architecture-bits> ist entweder B<32> oder B<64>." #. type: Plain text #: deb-src-symbols.man #, no-wrap msgid "" " (arch-bits=32)32bit_specific_symbol@Base 1.0\n" " (arch-bits=64)64bit_specific_symbol@Base 1.0\n" msgstr "" " (arch-bits=32)32bit_specific_symbol@Base 1.0\n" " (arch-bits=64)64bit_specific_symbol@Base 1.0\n" #. type: Plain text #: deb-src-symbols.man msgid "The I<architecture-endianness> is either B<little> or B<big>." msgstr "I<architecture-endianness> ist entweder B<little> oder B<big>." #. type: Plain text #: deb-src-symbols.man #, no-wrap msgid "" " (arch-endian=little)little_endian_specific_symbol@Base 1.0\n" " (arch-endian=big)big_endian_specific_symbol@Base 1.0\n" msgstr "" " (arch-endian=little)little_endian_specific_symbol@Base 1.0\n" " (arch-endian=big)big_endian_specific_symbol@Base 1.0\n" #. type: Plain text #: deb-src-symbols.man msgid "Multiple restrictions can be chained." msgstr "Mehrere Einschränkungen können aneinandergehängt werden." #. type: Plain text #: deb-src-symbols.man #, no-wrap msgid " (arch-bits=32|arch-endian=little)32bit_le_symbol@Base 1.0\n" msgstr " (arch-bits=32|arch-endian=little)32bit_le_symbol@Base 1.0\n" #. type: TP #: deb-src-symbols.man #, no-wrap msgid "B<ignore-blacklist>" msgstr "B<ignore-blacklist>" #. type: Plain text #: deb-src-symbols.man msgid "" "dpkg-gensymbols has an internal blacklist of symbols that should not appear " "in symbols files as they are usually only side-effects of implementation " "details of the toolchain. If for some reason, you really want one of those " "symbols to be included in the symbols file, you should tag the symbol with " "B<ignore-blacklist>. It can be necessary for some low level toolchain " "libraries like libgcc." msgstr "" "dpkg-gensymbols verfügt über eine interne Ausschußliste („blacklist“) von " "Symbolen, die nicht in Symboldateien auftauchen sollten, da sie " "normalerweise nur Seiteneffekte von Implementierungsdetails in der " "Werkzeugkette darstellen. Falls Sie aus irgendeinem Grund wollen, dass diese " "Symbole in der Symboldatei aufgenommen werden, sollten Sie das Symbol mit " "B<ignore-blacklist> kennzeichnen. Dies kann für einige grundlegende " "Bibliotheken der Werkzeugkette wie libgcc notwendig sein." #. type: TP #: deb-src-symbols.man #, no-wrap msgid "B<c++>" msgstr "B<c++>" #. type: Plain text #: deb-src-symbols.man msgid "" "Denotes I<c++> symbol pattern. See B<Using symbol patterns> subsection below." msgstr "" "Gibt I<c++>-Symbolmuster an. Lesen Sie den Unterabschnitt B<Verwendung von " "Symbolmuster> unten." #. type: TP #: deb-src-symbols.man #, no-wrap msgid "B<symver>" msgstr "B<symver>" #. type: Plain text #: deb-src-symbols.man msgid "" "Denotes I<symver> (symbol version) symbol pattern. See B<Using symbol " "patterns> subsection below." msgstr "" "Gibt I<symver> (Symbolversion)-Symbolmuster an. Lesen Sie den Unterabschnitt " "B<Verwendung von Symbolmuster> unten." #. type: TP #: deb-src-symbols.man #, no-wrap msgid "B<regex>" msgstr "B<regex>" #. type: Plain text #: deb-src-symbols.man msgid "" "Denotes I<regex> symbol pattern. See B<Using symbol patterns> subsection " "below." msgstr "" "Gibt I<regex>-Symbolmuster an. Lesen Sie den Unterabschnitt B<Verwendung von " "Symbolmuster> unten." #. type: SS #: deb-src-symbols.man #, no-wrap msgid "Using symbol patterns" msgstr "Verwendung von Symbolmustern" #. type: Plain text #: deb-src-symbols.man msgid "" "Unlike a standard symbol specification, a pattern may cover multiple real " "symbols from the library. B<dpkg-gensymbols> will attempt to match each " "pattern against each real symbol that does I<not> have a specific symbol " "counterpart defined in the symbol file. Whenever the first matching pattern " "is found, all its tags and properties will be used as a basis specification " "of the symbol. If none of the patterns matches, the symbol will be " "considered as new." msgstr "" "Anders als die Standardsymbolspezifikation kann ein Muster mehrere reale " "Symbole aus der Bibliothek abdecken. B<dpkg-gensymbols> wird versuchen, " "jedes Muster auf jedes reale Symbol, für das I<kein> spezifisches " "Symbolgegenstück in der Symboldatei definiert ist, zu passen. Wann immer das " "erste passende Muster gefunden wurde, werden alle Kennzeichnungen und " "Eigenschaften als Basisspezifikation des Symbols verwandt. Falls keines der " "Muster passt, wird das Symbol als neu betrachtet." #. type: Plain text #: deb-src-symbols.man msgid "" "A pattern is considered lost if it does not match any symbol in the library. " "By default this will trigger a B<dpkg-gensymbols> failure under B<-c1> or " "higher level. However, if the failure is undesired, the pattern may be " "marked with the I<optional> tag. Then if the pattern does not match " "anything, it will only appear in the diff as MISSING. Moreover, like any " "symbol, the pattern may be limited to the specific architectures with the " "I<arch> tag. Please refer to B<Standard symbol tags> subsection above for " "more information." msgstr "" "Ein Muster wird als verloren betrachtet, falls es auf kein Symbol in der " "Bibliothek passt. Standardmäßig wird dies ein Versagen von B<dpkg-" "gensymbols> in der Stufe B<-c1> oder höher auslösen. Falls der Fehlschlag " "allerdings unerwünscht ist, kann das Muster mit der Kennzeichnung " "I<optional> markiert werden. Falls das Muster dann auf nichts passt wird es " "im Diff nur als MISSING (fehlend) auftauchen. Desweiteren kann das Muster " "wie jedes Symbol auf die spezielle Architektur mit der Kennzeichnung I<arch> " "beschränkt werden. Bitte lesen Sie den Unterabschnitt B<Standard " "Symbolkennzeichnungen> oben für weitere Informationen." #. type: Plain text #: deb-src-symbols.man msgid "" "Patterns are an extension of the B<deb-symbols>(5) format hence they are " "only valid in symbol file templates. Pattern specification syntax is not any " "different from the one of a specific symbol. However, symbol name part of " "the specification serves as an expression to be matched against " "I<name@version> of the real symbol. In order to distinguish among different " "pattern types, a pattern will typically be tagged with a special tag." msgstr "" "Muster sind eine Erweiterung des Formats B<deb-symbols>(5); sie sind daher " "nur in Symboldatei-Vorlagen gültig. Die Musterspezifikationssyntax " "unterscheidet sich nicht von der eines spezifischen Symbols. Allerdings " "dient der Symbolnamenteil der Spezifikation als Ausdruck, der gegen " "I<Name@Version> eines realen Symbols gepasst wird. Um zwischen den " "verschiedenen Mustertypen zu unterscheiden, wird es typischerweise mit einer " "speziellen Kennzeichnung gekennzeichnet." #. type: Plain text #: deb-src-symbols.man msgid "At the moment, B<dpkg-gensymbols> supports three basic pattern types:" msgstr "Derzeit unterstützt B<dpkg-gensymbols> drei grundlegene Mustertypen:" #. type: Plain text #: deb-src-symbols.man msgid "" "This pattern is denoted by the I<c++> tag. It matches only C++ symbols by " "their demangled symbol name (as emitted by B<c++filt>(1) utility). This " "pattern is very handy for matching symbols which mangled names might vary " "across different architectures while their demangled names remain the same. " "One group of such symbols is I<non-virtual thunks> which have architecture " "specific offsets embedded in their mangled names. A common instance of this " "case is a virtual destructor which under diamond inheritance needs a non-" "virtual thunk symbol. For example, even if _ZThn8_N3NSB6ClassDD1Ev@Base on " "32bit architectures will probably be _ZThn16_N3NSB6ClassDD1Ev@Base on 64bit " "ones, it can be matched with a single I<c++> pattern:" msgstr "" "Dieses Muster wird durch die Kennzeichnung I<c++> verzeichnet. Es passt nur " "auf die entworrenen („demangled“) Symbolnamen (wie sie vom Hilfswerkzeug B<c+" "+filt>(1) ausgegeben werden). Dieses Muster ist sehr hilfreich um auf " "Symbole zu passen, bei dem die verworrenen („mangled“) Namen sich auf " "verschiedenen Architekturen unterscheiden während die entworrenen die " "gleichen bleiben. Eine Gruppe solcher Symbole ist I<non-virtual thunks>, die " "einen architekturspezifischen Versatz in ihren verworrenen Namen eingebettet " "haben. Eine häufige Instanz dieses Falles ist ein virtueller Destruktur, der " "unter rautenförmiger Vererbung ein nicht-virtuelles Thunk-Symbol benötigt. " "Selbst wenn beispielsweise _ZThn8_N3NSB6ClassDD1Ev@Base auf 32 Bit-" "Architekturen _ZThn16_N3NSB6ClassDD1Ev@Base auf 64 Bit-Architekturen ist, " "kann es mit einem einzigen I<c++>-Muster gepasst werden:" #. type: Plain text #: deb-src-symbols.man #, no-wrap msgid "" "libdummy.so.1 libdummy1 #MINVER#\n" " [...]\n" " (c++)\"non-virtual thunk to NSB::ClassD::~ClassD()@Base\" 1.0\n" " [...]\n" msgstr "" "libdummy.so.1 libdummy1 #MINVER#\n" " […]\n" " (c++)\"non-virtual thunk to NSB::ClassD::~ClassD()@Base\" 1.0\n" " […]\n" #. type: Plain text #: deb-src-symbols.man msgid "" "The demangled name above can be obtained by executing the following command:" msgstr "" "Der entworrene Name oben kann durch Ausführung folgenden Befehls erhalten " "werden:" #. type: Plain text #: deb-src-symbols.man #, no-wrap msgid " $ echo '_ZThn8_N3NSB6ClassDD1Ev@Base' | c++filt\n" msgstr " $ echo '_ZThn8_N3NSB6ClassDD1Ev@Base' | c++filt\n" #. type: Plain text #: deb-src-symbols.man msgid "" "Please note that while mangled name is unique in the library by definition, " "this is not necessarily true for demangled names. A couple of distinct real " "symbols may have the same demangled name. For example, that's the case with " "non-virtual thunk symbols in complex inheritance configurations or with most " "constructors and destructors (since g++ typically generates two real symbols " "for them). However, as these collisions happen on the ABI level, they should " "not degrade quality of the symbol file." msgstr "" "Bitte beachten Sie, dass per Definition zwar der verworrene Name in der " "Bibliothek eindeutig ist, die aber nicht notwendigerweise für die " "entworrenen Namen zutrifft. Ein Satz von unterschiedlichen realen Symbolen " "können den gleichen entworrenen Namen haben. Beispielsweise ist das der Fall " "bei nicht-virtuellen Thunk-Symbolen in komplexen Vererbungskonfigurationen " "oder bei den meisten Konstruktoren und Destruktoren (da g++ typischerweise " "zwei reale Symbole für sie generiert). Da diese Kollisionen aber auf dem ABI-" "Niveau passieren, sollten sie nicht die Qualität der Symboldatei reduzieren." #. type: Plain text #: deb-src-symbols.man msgid "" "This pattern is denoted by the I<symver> tag. Well maintained libraries have " "versioned symbols where each version corresponds to the upstream version " "where the symbol got added. If that's the case, you can use a I<symver> " "pattern to match any symbol associated to the specific version. For example:" msgstr "" "Dieses Muster wird durch die Kennzeichnung I<symver> verzeichnet. Gut " "betreute Bibliotheken verfügen über versionierte Symbole, wobei jede Version " "zu der Version der Originalautoren passt, in der dieses Symbol hinzugefügt " "wurde. Falls das der Fall ist, können SIe ein I<symver>-Muster verwenden, um " "auf jedes zu einer spezifizierten Version zugeordnete Symbol zu passen. " "Beispiel:" #. type: Plain text #: deb-src-symbols.man #, no-wrap msgid "" "libc.so.6 libc6 #MINVER#\n" " (symver)GLIBC_2.0 2.0\n" " [...]\n" " (symver)GLIBC_2.7 2.7\n" " access@GLIBC_2.0 2.2\n" msgstr "" "libc.so.6 libc6 #MINVER#\n" " (symver)GLIBC_2.0 2.0\n" " […]\n" " (symver)GLIBC_2.7 2.7\n" " access@GLIBC_2.0 2.2\n" #. type: Plain text #: deb-src-symbols.man msgid "" "All symbols associated with versions GLIBC_2.0 and GLIBC_2.7 will lead to " "minimal version of 2.0 and 2.7 respectively with the exception of the symbol " "access@GLIBC_2.0. The latter will lead to a minimal dependency on libc6 " "version 2.2 despite being in the scope of the \"(symver)GLIBC_2.0\" pattern " "because specific symbols take precedence over patterns." msgstr "" "Alle Version GLIBC_2.0 und GLIBC_2.7 zugeordneten Symbole werden zu einer " "minimalen Version 2.0 bzw. 2.7 führen, wobei das Symbol access@GLIBC_2.0 die " "Ausnahme darstellt. Es wird zu einer minimalen Abhängigkeit auf libc6 " "Version 2.2 führen, obwohl es im Geltungsbereich des Musters " "„(symver)GLIBC_2.0“ passt, da spezielle Symbole vor Mustern Vorrang haben." #. type: Plain text #: deb-src-symbols.man msgid "" "Please note that while old style wildcard patterns (denoted by \"*@version\" " "in the symbol name field) are still supported, they have been deprecated by " "new style syntax \"(symver|optional)version\". For example, \"*@GLIBC_2.0 " "2.0\" should be written as \"(symver|optional)GLIBC_2.0 2.0\" if the same " "behaviour is needed." msgstr "" "Bitte beachten Sie, dass Platzhaltermuster im alten Format (angezeigt durch " "„*@version“ im Symbolnamenfeld) zwar noch unterstützt werden, sie aber durch " "die Syntax im neuen Format „(symver|optional)version“ abgelöst wurden. " "Beispielsweise sollte „*@GLIBC_2.0 2.0“ als „(symver|optional)GLIBC_2.0 2.0“ " "geschrieben werden, falls das gleiche Verhalten benötigt wird." #. type: Plain text #: deb-src-symbols.man msgid "" "Regular expression patterns are denoted by the I<regex> tag. They match by " "the perl regular expression specified in the symbol name field. A regular " "expression is matched as it is, therefore do not forget to start it with the " "I<^> character or it may match any part of the real symbol I<name@version> " "string. For example:" msgstr "" "Muster mit regulären Ausdrücken werden durch die Kennzeichnung I<regex> " "verzeichnet. Sie passen auf den regulären Ausdruck von Perl, der im " "Symbolnamenfeld angegeben ist. Ein regulärer Ausdruck wird wie er ist " "gepasst. Denken Sie daher daran, ihn mit dem Zeichen I<^> zu beginnen, da er " "ansonsten auf jeden Teil der Zeichenkette des realen Symbols I<name@version> " "passt. Beispiel:" #. type: Plain text #: deb-src-symbols.man #, no-wrap msgid "" "libdummy.so.1 libdummy1 #MINVER#\n" " (regex)\"^mystack_.*@Base$\" 1.0\n" " (regex|optional)\"private\" 1.0\n" msgstr "" "libdummy.so.1 libdummy1 #MINVER#\n" " (regex)\"^mystack_.*@Base$\" 1.0\n" " (regex|optional)\"private\" 1.0\n" #. type: Plain text #: deb-src-symbols.man msgid "" "Symbols like \"mystack_new@Base\", \"mystack_push@Base\", \"mystack_pop@Base" "\" etc. will be matched by the first pattern while e.g. " "\"ng_mystack_new@Base\" won't. The second pattern will match all symbols " "having the string \"private\" in their names and matches will inherit " "I<optional> tag from the pattern." msgstr "" "Symbole wie „mystack_new@Base“, „mystack_push@Base“, „mystack_pop@Base“ usw. " "werden vom ersten Muster gepasst, während dies z.B. für " "„ng_mystack_new@Base“ nicht der Fall ist. Das zweite Muster wird auf alle " "Symbole, die die Zeichenkette „private“ in ihren Namen enthalten, passen und " "die gepassten Symbole erben die Kennzeichnung I<optional> vom Muster." #. type: Plain text #: deb-src-symbols.man msgid "" "Basic patterns listed above can be combined where it makes sense. In that " "case, they are processed in the order in which the tags are specified. For " "example, both" msgstr "" "Die oben aufgeführten grundlegenden Muster können - wo es Sinn ergibt - " "kombiniert werden. In diesem Fall werden sie in der Reihenfolge verarbeitet, " "in der die Kennzeichnungen angegeben sind. Im Beispiel" #. type: Plain text #: deb-src-symbols.man #, no-wrap msgid "" " (c++|regex)\"^NSA::ClassA::Private::privmethod\\ed\\e(int\\e)@Base\" 1.0\n" " (regex|c++)N3NSA6ClassA7Private11privmethod\\edEi@Base 1.0\n" msgstr "" " (c++|regex)\"^NSA::ClassA::Private::privmethod\\ed\\e(int\\e)@Base\" 1.0\n" " (regex|c++)N3NSA6ClassA7Private11privmethod\\edEi@Base 1.0\n" #. type: Plain text #: deb-src-symbols.man msgid "" "will match symbols \"_ZN3NSA6ClassA7Private11privmethod1Ei@Base\" and " "\"_ZN3NSA6ClassA7Private11privmethod2Ei@Base\". When matching the first " "pattern, the raw symbol is first demangled as C++ symbol, then the demangled " "name is matched against the regular expression. On the other hand, when " "matching the second pattern, regular expression is matched against the raw " "symbol name, then the symbol is tested if it is C++ one by attempting to " "demangle it. A failure of any basic pattern will result in the failure of " "the whole pattern. Therefore, for example, " "\"__N3NSA6ClassA7Private11privmethod\\edEi@Base\" will not match either of " "the patterns because it is not a valid C++ symbol." msgstr "" "werden die Symbole „_ZN3NSA6ClassA7Private11privmethod1Ei@Base“ und " "„_ZN3NSA6ClassA7Private11privmethod2Ei@Base“ gepasst. Beim Passen der ersten " "Musters wird das rohe Symbol erst als C++-Symbol entworren, dann wird der " "entworrende Name gegen den regulären Ausdruck gepasst. Auf der anderen Seite " "wird beim Passen des zweiten Musters der reguläre Ausdruck gegen den rohen " "Symbolnamen gepasst, dann wird das Symbol überprüft, ob es ein C++-Symbol " "ist, indem das Entwirren versucht wird. Ein Fehlschlag eines einfachen " "Musters wird zum Fehlschlag des gesamten Musters führen. Daher wird " "beispielsweise „__N3NSA6ClassA7Private11privmethod\\edEi@Base“ keines der " "Muster passen, da es kein gültiges C++-Symbol ist." #. type: Plain text #: deb-src-symbols.man msgid "" "In general, all patterns are divided into two groups: aliases (basic I<c++> " "and I<symver>) and generic patterns (I<regex>, all combinations of multiple " "basic patterns). Matching of basic alias-based patterns is fast (O(1)) " "while generic patterns are O(N) (N - generic pattern count) for each " "symbol. Therefore, it is recommended not to overuse generic patterns." msgstr "" "Im Allgemeinen werden die Muster in zwei Kategorien eingeteilt: Aliase " "(grundlegende I<c++>- und I<symver>-Muster) und generische Muster (I<regex> " "und alle Kombinationen grundlegender Muster). Passen von grundlegenden alias-" "basierenden Mustern ist schnell (O(1)), während generische Muster O(N) " "(wobei N die Anzahl der generischen Muster ist) für jedes Symbol ist. Daher " "wird empfohlen, generische Muster nicht zu viel zu verwenden." #. type: Plain text #: deb-src-symbols.man msgid "" "When multiple patterns match the same real symbol, aliases (first I<c++>, " "then I<symver>) are preferred over generic patterns. Generic patterns are " "matched in the order they are found in the symbol file template until the " "first success. Please note, however, that manual reordering of template " "file entries is not recommended because B<dpkg-gensymbols> generates diffs " "based on the alphanumerical order of their names." msgstr "" "Wenn mehrere Muster auf das gleiche Symbol passen, werden Aliase (zuerst I<c+" "+>, dann I<symver>) gegenüber den generischen Mustern bevorzugt. Generische " "Muster werden in der Reihenfolge, in der sie in der Symboldateivorlage " "gefunden werden, gepasst, bis zum ersten Erfolg. Beachten Sie aber, dass das " "manuelle Anordnen der Vorlagendateieinträge nicht empfohlen wird, da B<dpkg-" "gensymbols> Diffs basierend auf der alphanumerischen Reihenfolge ihrer Namen " "erstellt."
Attachment:
signature.asc
Description: PGP signature