DH_MAKESHLIBS(1) | Debhelper | DH_MAKESHLIBS(1) |
dh_makeshlibs - erstellt automatisch die Shlibs-Datei und ruft dpkg-gensymbols auf
dh_makeshlibs [Debhelper-Optionen] [-mMajor] [-V[Abhängigkeiten]] [-n] [-XElement] [-- Parameter]
dh_makeshlibs ist ein Debhelper-Programm, das automatisch nach gemeinsam benutzten Bibliotheken sucht und für die gefundenen Bibliotheken eine Shlibs-Datei erzeugt.
Es stellt außerdem sicher, dass Ldconfig während der Installation und Entfernung aufgerufen wird, wenn es gemeinsam benutzte Bibliotheken findet. Seit Debhelper 9.20151004 wird dafür ein Dpkg-Auslösers eingesetzt. In älteren Versionen von Debhelper würde dh_makeshlibs zu diesem Zweck ein Betreuerskript erzeugen.
Seit Debhelper 12.3 wird dh_makeshlibs standardmäßig in der Datei shlibs eine zusätzliche udeb-Zeile eintragen, wenn das Udeb denselben Namen wie das Deb hat, gefolgt von einer »-udeb«-Endung (wenn z. B. das Deb »libfoo1« heißt, dann wird Debhelper ein Udeb namens »libfoo1-udeb« automatisch erkennen. Bitte benutzen Sie die nachfolgenden Optionen --add-udeb und --no-add-udeb, wenn diese automatische Erkennung nicht ausreicht.
Falls Sie vorher --add-udeb benutzt haben und mit dem Gedanken spielen, auf die neue automatische Erkennungsfunktionalität in 12.3 zu migrieren, dann denken Sie bitte daran zu testen, ob die resultierenden DEBIAN/shlibs-Dateien wie erwartet ausfallen. Es gibt einige bekannte Ausnahmefälle, in denen die automatische Erkennung nicht ausreicht. Dazu zählt u. a., dass das Udeb Bibliotheksdateien aus mehreren normalen Deb-Paketen enthält oder dass die Pakete nicht der erwarteten Namensübereinkunft folgen.
Beachten Sie, dass diese Datei in Kompatibilitätsmodi 9 und älter durch dh_installdeb(1) anstatt durch dh_makeshlibs installiert wurde.
Auf Kompatibilitätsstufe 12 und höher ist die Voreinstellung von dh_makeshlibs -VUpstream-Version. Auf Kompatibilitätsstufe 11 und niedriger verhält sich die Voreinstellung wie -VNone.
Das Werkzeug dh_makeshlibs kann Abhängigkeiten in drei Varianten erzeugen:
Dies ist eine zurückhaltende Einstellung, die immer sicherstellt, dass die Abhängigkeiten von gemeinsam benutzten Bibliotheken anderer Pakete mindestens so eng sind wie erforderlich (es sei denn, in Ihrer Bibliothek wird gern das ABI geändert, ohne die Versionsnummer der Ursprungsautoren zu aktualisieren).
Die Kehrseite ist, dass Pakete mit Abhängigkeiten enden können, die in einigen Fällen zu eng sind (beachten Sie, dass eine Symboldatei dieses Problem entschärfen kann). Dies ist aber oft eine kleine, vorübergehende Unannehmlichkeit und normalerweise viel besser als der Rattenschwanz an Problemen, der entsteht, wenn vergessen wird, die Abhängigkeitsinfos mitzupflegen.
Diese eindeutige Form wurde in Debhelper/11.3 hinzugefügt. In früheren Versionen wurde stattdessen ein -V ohne irgendwelche Abhängigkeitsinformationen benutzt (und diese Form funktioniert immer noch).
Diese Form ist im Allgemeinen unsicher, es sei denn, die Ursprungsautoren erweitern das ABI in keiner Weise. Die meisten Ursprungsautoren verbessern jedoch ihre Schnittstellen mit der Zeit und es wird Paketierern empfohlen, -VUpstream-Version (oder eine der anderen Formen von -VAbhängigkeiten) zu verwenden.
Alterantiv kann dies ausreichen, falls (und nur falls) das Paket Symbolversionierung verwendet (siehe dpkg-gensymbols(1)) und keine Udeb-Pakete baut. Beachten Sie, dass Symbole nicht von Udeb-Paketen unterstützt werden, die sich bei der Behandlung von Abhängigkeiten ausschließlich auf Shlibs verlassen.
Beachten Sie, dass Debhelper diesen Wert so benutzen wird, wie er ist, ohne zu prüfen, ob er vernünftig und ohne Änderung ist. In seltenen Sonderfällen ist das erforderlich, um eine Abhängigkeit zu einem anderen Paket zu erzeugen als dem, das die Bibliothek enthält.
Wenn ein Wert für diese Option gewählt wird, denken Sie bitte daran, dass eine Symboldatei generell den Vorzug gegenüber der Shlibs-Datei für normale .deb-Pakete erhält, falls das Paket eine solche bereitstellt. Weitere Informationen über dieses Thema finden Sie unter dpkg-shlibdeps(1).
Diese Option eignet sich nur für Sonderfälle, beispielsweise wenn Debhelper den Paketnamen des Udeb-Pakets nicht automatisch ermitteln kann, das Udeb Bibliotheken aus mehreren Deb-Paketen enthalten wird oder das Udeb Bibliotheken enthält, die nicht im Deb-Paket enthalten sind.
Dies kann nützlich sein, wenn Sie gar keine Shlibs-Datei für das Udeb wollen, weil kein Paket davon abhängt; bspw. weil das Hinzufügen eines Udeb-Pakets für die Bibliothek übertrieben wäre und die Bibliothek in ein anderes Udeb-Paket eingebettet ist.
Dieses Programm ist Teil von Debhelper.
Diese Übersetzung wurde mit dem Werkzeug po4a <http://po4a.alioth.debian.org/> durch Chris Leick c.leick@vollbio.de und das deutsche Debian-Übersetzer-Team im Dezember 2011 erstellt.
Bitte melden Sie alle Fehler in der Übersetzung an debian-l10n-german@lists.debian.org oder als Fehlerbericht an das Paket debhelper.
Sie können mit dem folgenden Befehl das englische Original anzeigen man -L en Abschnitt Handbuchseite
Joey Hess <joeyh@debian.org>
2021-03-06 | 13.3.4 |