.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "dpkg-gensymbols 1" .TH dpkg-gensymbols 1 2024-01-24 1.22.4 "dpkg suite" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH BEZEICHNUNG .IX Header "BEZEICHNUNG" dpkg-gensymbols \- Symboldateien (Abh\(:angigkeitsinformationen f\(:ur Laufzeitbibliotheken) erstellen .SH \(:UBERSICHT .IX Header "\(:UBERSICHT" \&\fBdpkg-gensymbols\fR [\fIOption\fR …] .SH BESCHREIBUNG .IX Header "BESCHREIBUNG" \&\fBdpkg-gensymbols\fR durchsucht einen tempor\(:aren Baubaum (standardm\(:a\(ssig debian/tmp), sucht nach Bibliotheken und erstellt eine Datei \fIsymbols\fR, die diese beschreibt. Diese Datei wird, falls sie nicht leer ist, in das Unterverzeichnis DEBIAN des Baubaums installiert, so dass sie schlussendlich in der Steuerinformation des Pakets erscheint. .PP Beim Erstellen dieser Dateien verwendet es als Eingabe einige vom Betreuer bereitgestellte Symboldateien. Es sucht nach den folgenden Dateien (und verwendet die erste, die gefunden wird): .IP \(bu 4 debian/\fIPaket\fR.symbols.\fIArchitektur\fR .IP \(bu 4 debian/symbols.\fIArchitektur\fR .IP \(bu 4 debian/\fIPaket\fR.symbols .IP \(bu 4 debian/symbols .PP Der Hauptzweck dieser Dateien besteht darin, die minimale Version bereitzustellen, die mit jedem von der Bibliothek bereitgestellten Symbol verkn\(:upft ist. Normalerweise entspricht dies der ersten Version des Pakets, die dieses Symbol bereitgestellt hat, kann aber vom Betreuer erh\(:oht werden, falls die ABI des Symbols ohne brechen der R\(:uckw\(:artskompatibilit\(:at erweitert wurde. Es liegt in der Verantwortung des Betreuers, diese Dateien aktuell zu halten, aber \fBdpkg-gensymbols\fR hilft dabei. .PP Wenn die erstellten Symboldateien sich von denen, die der Betreuer bereitgestellt hat, unterscheiden, wird \fBdpkg-gensymbols\fR einen Diff zwischen den zwei Versionen anzeigen. Falls die Unterschiede desweiteren zu gravierend sind, wird es sogar fehlschlagen (Sie k\(:onnen einstellen, wie gro\(sse Unterschiede Sie tolerieren k\(:onnen, sehen Sie hierzu die Option \fB\-c\fR). .PP Dieses Programm wurde in Dpkg 1.14.8 hinzugef\(:ugt. .SH "SYMBOLDATEIEN PFLEGEN" .IX Header "SYMBOLDATEIEN PFLEGEN" Das grundlegende Austauschformat der Symboldatei wird in \fBdeb\-symbols\fR\|(5) beschrieben. Dies wird von den in Bin\(:arpaketen enthaltenen Symboldateien verwandt. Diese werden aus Vorlage-Symboldateien erstellt, deren Format auf Ersterem basiert, in \fBdeb\-src\-symbols\fR\|(5) beschrieben und in Quellpaketen enthalten ist. .PP Die Symboldateien sind nur wirklich n\(:utzlich, falls sie die Entwicklung eines Paketes \(:uber mehrere Ver\(:offentlichungen hinweg wiedergeben. Daher muss der Betreuer sie immer aktualisieren, wenn eine neues Symbol hinzugef\(:ugt wird, so dass die zugeordnete minimale Version der Realit\(:at entspricht. .PP Die in den Bauprotokollen enthaltenen Diffs k\(:onnen als Startpunkt benutzt werden, aber zus\(:atzlich hat der Betreuer sicherzustellen, dass sich das Verhalten dieser Symbole nicht derart ge\(:andert hat, dass irgendetwas, was diese Symbole verwendet und gegen die neue Version gelinkt ist, daran hindern w\(:urde, mit der alten Version zu funktionieren. .PP Meistens kann der Diff direkt auf die Datei debian/\fIPaket\fR.symbols angewandt werden. Allerdings werden normalerweise weitere Anpassungen notwendig: es wird beispielsweise empfohlen, die Debian-Revision von der minimalen Version zu entfernen, so dass Backports mit einer niedrigeren Versionsnummer, aber der gleichen Version der Originalautoren immer noch die erstellten Abh\(:angigkeiten erf\(:ullen. Falls die Debian-Revision nicht entfernt werden kann, da das Symbol wirklich von der Debian-spezifischen \(:Anderung hinzugef\(:ugt wurde, dann sollte der Version \(bq\fB~\fR\(cq angeh\(:angt werden. .PP Bevor irgendein Patch auf die Symboldatei angewendet wird, sollte der Betreuer zweimal pr\(:ufen, dass der Patch vern\(:unftig ist. \(:Offentliche Symbole sollten nicht verschwinden, daher sollte der Patch idealerweise nur neue Zeilen hinzuf\(:ugen. .PP Beachten Sie, dass Sie in Symboldateien Kommentare verwenden k\(:onnen. .PP Vergessen Sie nicht, zu \(:uberpr\(:ufen, ob alte Versionen aktualisiert werden m\(:ussen. Es gibt f\(:ur \fBdpkg-gensymbols\fR keine M\(:oglichkeit, hierzu eine Warnung auszugeben. Wird der Diff blind akzeptiert oder wird angenommen, dass nichts ge\(:andert werden muss, wenn es keinen Diff gibt, ohne auf \(:Anderungen zu pr\(:ufen, kann dies dazu f\(:uhren, dass lockere Abh\(:angigkeiten erzeugt werden, laut deren mit \(:alteren Versionen gearbeitet werden kann, obwohl dies nicht m\(:oglich ist. Dies wird zu schwer zu findenden Fehlern bei (teilweisen) Upgrades f\(:uhren. .SS "Gute Bibliotheksverwaltung" .IX Subsection "Gute Bibliotheksverwaltung" Eine gut verwaltete Bibliothek hat die folgenden Eigenschaften: .IP \(bu 4 ihre API ist stabil (\(:offentliche Symbole entfallen nie, nur neue \(:offentliche Symbole werden hinzugef\(:ugt) und inkompatible \(:Anderungen erfolgen nur, wenn sich der SONAME \(:andert, .IP \(bu 4 idealerweise verwendet sie Symbolversionierung, um ABI\-Stabilit\(:at trotz interner \(:Anderungen und API-Erweiterungen zu erreichen, .IP \(bu 4 sie exportiert nie private Symbole (als Hilfsl\(:osung k\(:onnen diese als optional gekennzeichnet werden). .PP Bei der Verwaltung der Symboldatei kann das Auftauchen und Verschwinden von Symbolen leicht bemerkt werden. Es ist aber schwieriger, inkompatbile API\- und ABI\-\(:Anderungen zu bemerken. Daher sollte der Betreuer intensiv die Changelog\-Eintr\(:age der Originalautoren durchschauen und nach F\(:allen suchen, in denen die Regeln der guten Bibliotheksverwaltung gebrochen wurden. Falls m\(:ogliche Probleme entdeckt wurden, sollten der Originalautor informiert werden, da eine Korrektur vom Originalautor immer besser als eine Debian-spezifische Hilfsl\(:osung ist. .SH OPTIONEN .IX Header "OPTIONEN" .IP \fB\-P\fR\fIPaketbauverzeichnis\fR 4 .IX Item "-PPaketbauverzeichnis" Sucht nach \fIPaketbauverzeichnis\fR statt nach debian/tmp. .IP \fB\-p\fR\fIPaket\fR 4 .IX Item "-pPaket" Definiert den Paketnamen. Wird ben\(:otigt, falls mehr als ein bin\(:ares Paket in debian/control aufgef\(:uhrt ist (oder falls es keine Datei debian/control gibt). .IP \fB\-v\fR\fIVersion\fR 4 .IX Item "-vVersion" Definiert die Paketversion. Standardm\(:a\(ssig wird die Version aus \fIdebian/changelog\fR entnommen. Ben\(:otigt, falls der Aufruf au\(sserhalb des Quellpaketbaums erfolgt. .IP \fB\-e\fR\fIBibliotheksdatei\fR 4 .IX Item "-eBibliotheksdatei" Untersucht nur die explizit aufgef\(:uhrten Bibliotheken, statt nach allen \(:offentlichen Bibliotheken zu suchen. Sie k\(:onnen Shell-Muster, die zur Expansion von Pfadnamen verwandt werden (siehe die Handbuchseite File::Glob f\(:ur weitere Details) in \fIBibliotheksdatei\fR verwenden, um mehrere Bibliotheken mit einem einzelnen Argument abzugleichen (andernfalls ben\(:otigen Sie mehrere \fB\-e\fR). .IP \fB\-l\fR\fIVerzeichnis\fR 4 .IX Item "-lVerzeichnis" Stellt \fIVerzeichnis\fR der Liste der zu durchsuchenden privaten Laufzeitbibliotheken voran (seit Dpkg 1.19.1). Diese Option kann mehrfach angegeben werden. .Sp \&\fBHinweis\fR: Verwenden Sie diese Variable, statt \fBLD_LIBRARY_PATH\fR zu setzen, da diese Umgebungsvariable verwandt wird, um den Laufzeit-Linker zu steuern und ihr Missbrauch zum Setzen von Pfaden zu Laufzeitbibliotheken zur Bauzeit kann beispielsweise beim Cross-Kompilieren problematisch werden. .IP \fB\-I\fR\fIDateiname\fR 4 .IX Item "-IDateiname" Verwendet \fIDateiname\fR als Referenzdatei, um die Symboldatei zu erstellen, die dann im Paket selbst integriert wird. .IP \fB\-O\fR[\fIDateiname\fR] 4 .IX Item "-O[Dateiname]" Die erstellte Symbols-Datei auf die Standardausgabe oder nach \fIDateiname\fR, falls angegeben, ausgeben statt in \fBdebian/tmp/DEBIAN/symbols\fR (oder \fIPaket-Bauverzeichnis\fR\fB/DEBIAN/symbols\fR, falls \fB\-P\fR verwandt wurde). Falls \fIDateiname\fR bereits existiert, wird deren Inhalt als Grundlage f\(:ur die erstellte Symboldatei verwandt. Sie k\(:onnen diese Funktionalit\(:at benutzen, um eine Symboldatei zu aktualisieren, so dass sie zu einer neueren Version der Originalautoren Ihrer Bibliothek passt. .IP \fB\-t\fR 4 .IX Item "-t" Schreibt die Symboldatei im Vorlagenmodus statt im zu \fBdeb\-symbols\fR\|(5) kompatiblen Format. Der Hauptunterschied besteht darin, dass im Vorlagenmodus die Symbolnamen und Kennzeichnungen in ihrer Originalform geschrieben werden, im Gegensatz zu den verarbeiteten Symbolnamen mit entfernten Kennzeichnungen im Kompatibilit\(:atsmodus. Desweiteren k\(:onnten einige Symbole beim Schreiben einer Standard\-\fBdeb\-symbols\fR\|(5)\-Datei entfernt werden (gem\(:a\(ss der Verarbeitungsregeln f\(:ur Kennzeichen), w\(:ahrend in der Symboldateivorlage immer alle Symbole geschrieben werden. .IP \fB\-c\fR\fI[0\-4]\fR 4 .IX Item "-c[0-4]" Definiert die Pr\(:ufungen, die beim Vergleich der erstellten Symboldatei mit der Vorlagendatei als Startpunkt erfolgen sollen. Standardstufe ist 1. Zunehmende Stufen f\(:uhren mehr Pr\(:ufungen durch und enthalten alle Pr\(:ufungen der niedrigeren Stufen. .RS 4 .IP "Stufe 0" 4 .IX Item "Stufe 0" schl\(:agt nie fehl. .IP "Stufe 1" 4 .IX Item "Stufe 1" Schl\(:agt fehl, wenn einige Symbole verschwunden sind. .IP "Stufe 2" 4 .IX Item "Stufe 2" falls einige neue Symbole eingef\(:uhrt wurden. .IP "Stufe 3" 4 .IX Item "Stufe 3" falls einige Bibliotheken verschwunden sind. .IP "Stufe 4" 4 .IX Item "Stufe 4" falls einige Bibliotheken hinzugekommen sind. .RE .RS 4 .Sp Dieser Wert kann von der Umgebungsvariablen \fBDPKG_GENSYMBOLS_CHECK_LEVEL\fR au\(sser Kraft gesetzt werden. .RE .IP \fB\-q\fR 4 .IX Item "-q" Ruhig verhalten und nie einen Diff zwischen der erstellten Symboldatei und der als Startpunkt verwandten Vorlagendatei erstellen oder keine Warnungen bez\(:uglich neuer/verschwundener Bibliotheken oder neuer/verschwundener Symbole ausgeben. Diese Option deaktiviert nur die informative Ausgabe, aber nicht die Pr\(:ufungen selbst (sehen Sie hierzu die Option \fB\-c\fR). .IP \fB\-a\fR\fIArchitektur\fR 4 .IX Item "-aArchitektur" Nimmt \fIArch\fR als Host-Architektur beim Verarbeiten der Symboldateien an. Verwenden Sie diese Option, um Symboldateien oder Diffs f\(:ur beliebige Architekturen zu erstellen, vorausgesetzt, die Bin\(:arprogramme sind bereits verf\(:ugbar. .IP \fB\-d\fR 4 .IX Item "-d" Debug-Modus aktivieren. Eine Vielzahl von Meldungen wird angezeigt, um zu erkl\(:aren, was \fBdpkg-gensymbols\fR durchf\(:uhrt. .IP \fB\-V\fR 4 .IX Item "-V" Ausf\(:uhrlichen Modus aktivieren. Die erstellte Symboldatei enth\(:alt veraltete Symbole als Kommentare. Im Vorlagenmodus werden Mustersymbole desweiteren von Kommentaren gefolgt, die die echten Symbole auff\(:uhren, die auf dieses Muster passen. .IP "\fB\-?\fR, \fB\-\-help\fR" 4 .IX Item "-?, --help" Zeigt einen Hinweis zum Aufruf und beendet das Programm. .IP \fB\-\-version\fR 4 .IX Item "--version" Gibt die Version aus und beendet das Programm. .SH UMGEBUNG .IX Header "UMGEBUNG" .IP \fBDPKG_GENSYMBOLS_CHECK_LEVEL\fR 4 .IX Item "DPKG_GENSYMBOLS_CHECK_LEVEL" Setzt die Befehls\(:uberpr\(:ufungsstufe au\(sser Kraft, selbst wenn das Befehlszeilenargument \fB\-c\fR \(:ubergeben wurde (beachten Sie, dass dies der \(:ublichen Konvention widerspricht, demnach Befehlszeilenargumente Vorrang gegen\(:uber Umgebungsvariablen haben). .IP \fBDPKG_COLORS\fR 4 .IX Item "DPKG_COLORS" Setzt den Farbmodus (seit Dpkg 1.18.5). Die derzeit unterst\(:utzten Werte sind: \fBauto\fR (Vorgabe), \fBalways\fR und \fBnever\fR. .IP \fBDPKG_NLS\fR 4 .IX Item "DPKG_NLS" Falls dies gesetzt ist, wird es zur Entscheidung, ob Native Language Support, auch als Unterst\(:utzung f\(:ur Internationalisierung (oder i18n) bekannt, aktiviert wird (seit Dpkg 1.19.0). Die akzeptierten Werte sind: \fB0\fR und \fB1\fR (Vorgabe). .SH "SIEHE AUCH" .IX Header "SIEHE AUCH" , , , \fBdeb\-src\-symbol\fR\|(5), \fBdeb\-symbols\fR\|(5), \fBdpkg\-shlibdeps\fR\|(1). .SH \(:UBERSETZUNG .IX Header "\(:UBERSETZUNG" Die deutsche \(:Ubersetzung wurde 2004, 2006\-2023 von Helge Kreutzmann , 2007 von Florian Rehnisch und 2008 von Sven Joachim angefertigt. Diese \(:Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 2 oder neuer f\(:ur die Kopierbedingungen. Es gibt KEINE HAFTUNG.