table of contents
- buster-backports 13.3.1~bpo10+1
- testing 13.3.3
- unstable 13.3.4
DH_MAKESHLIBS(1) | Debhelper | DH_MAKESHLIBS(1) |
NAME¶
dh_makeshlibs - erstellt automatisch die Shlibs-Datei und ruft dpkg-gensymbols aufÜBERSICHT¶
dh_makeshlibs [Debhelper-Optionen] [-mHauptnummer] [-V[Abhängigkeiten]] [-n] [-XElement] [-- Parameter]BESCHREIBUNG¶
dh_makeshlibs ist ein Debhelper-Programm, das automatisch nach gemeinsam benutzten Bibliotheken sucht und eine Shlibs-Datei für die Dateien erzeugt, die es findet.Es wird außerdem sicherstellen, das Ldconfig während des Installierens und Entfernens aufgerufen wird, wenn es gemeinsam benutzte Bibliotheken findet. Seit Debhelper 9.20151004wird dies mittels eines Dpkg-Auslösers erledigt. In älteren Versionen von Debhelper würde dh_makeshlibs zu diesem Zweck ein Betreuerskript erzeugen.
seit Debhelper 12.3 wird dh_makeshlibs standardmäßig eine zusätzliche udeb-Zeile in der Datei shlibs hinzufügen, wenn das Udeb denselben Namen wie das Deb gefolgt von einer »-udeb«-Endung hat (z.B. falls das Deb »libfoo1« heißt, dann wird Debhelper das Udeb automatisch erkennen, falls es »libfoo1-udeb« heißt). 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 sind. Es gibt einige bekannte Ausnahmefälle, in denen die automatische Erkennung nicht ausreicht. Diese beinhalten, wenn das Udeb Bibliotheksdateien aus mehreren normalen Deb-Paketen enthält oder wenn die Pakete nicht der erwarteten Namensübereinkunft folgen.
DATEIEN¶
- debian/Paket.shlibs
- installiert, falls vorhanden, diese Datei in das Paket als DEBIAN/shlibs.
Falls es weggelassen wird, erzeugt Debhelper automatisch eine Shlibs-Datei
falls es irgendwelche Bibliotheken entdeckt.
Beachten Sie, dass diese Datei in Kompatibilitätsmodi 9 und älter durch dh_installdeb(1) anstatt durch dh_makeshlibs installiert wurde.
- debian/Paket.symbols
- debian/Paket.symbols.Architektur
- Diese Symboldateien werden, falls Sie vorhanden sind, zur Verarbeitung und Installation an dpkg-gensymbols(1) übergeben. Benutzen Sie die für die Architektur spezifischen Dateinamen, falls Sie mehrere unterschiedliche Symbole für unterschiedliche Architekturen bereitstellen müssen.
OPTIONEN¶
- -mHauptnummer, --major=Hauptnummer
- benutzt die nach dem Parameter -m angegebene Hauptnummer, anstatt zu versuchen, die Hauptnummer der Bibliothek mit Objdump zu erraten. Dies ist weit weniger nützlich, wie es früher zu den schlimmen alten Zeiten war, als dieses Programm nach Bibliotheksdateinamen suchte, anstatt Objdump zu verwenden.
- -V, -VAbhängigkeiten
- --version-info, --version-info=Abhängigkeiten
- Falls durch dieses Programm eine Shlibs-Datei erzeugt wurde, steuert diese
Option, welche Version in der Abhängigkeitsbeziehung benutzt werden
soll.
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:
- -VUpstream-Version
- Die Abhängigkeit wird »Paketname (>=
Paketversion)« lauten. Beachten Sie, dass
VUpstream-Version Groß- und Kleinschreibung
berücksichtigt und genau wie hier gezeigt geschrieben werden muss.
Dies ist eine behutsame Einstellung, die immer sicherstellt, dass gemeinsam benutzte Bibliothekabhängigkeiten anderer Pakete mindestens so eng sind, wie erforderlich (es sei denn, Ihre Bibliothek ist anfällig, das ABI zu ändern, ohne die Versionsnummer der Ursprungsautoren zu aktualisieren).
Die Kehrseite ist, dass Pakete mit Abhängigkeiten enden, die in einigen Fällen zu eng sind (beachten Sie, dass eine Symboldatei dieses Problem abschwächen kann). Dies ist oft eine kleine, vorübergehende Unannehmlichkeit und normalerweise viel besser als mit den Problemen umzugehen, die durch das Vergessen der Mitpflege von Abhängigkeitsinformationen verursacht werden.
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).
- -VNone
- Die Abhängigkeit wird »Paketname« lauten.
Beachten Sie, dass None die Groß- und Kleinschreibung
berücksichtigt und daher genau wie hier gezeigt geschrieben werden
muss.
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.
- -VPaketbeziehung
- In diesem Fall wird der an -V übergebene Wert als
Abhängigkeitsbeziehung benutzt. Die Paketbeziehung sollte
generell die Form »irgendein-Paketname (>=
irgendeine-Paketversion) haben. Denken Sie daran, den Paketname
beizufügen.
Beachten Sie, dass Debhelper diesen Wert so benutzen wird, wie er ist, ohne Prüfung, ob er vernünftig ist und ohne Änderung. In seltenen Sonderfällen ist dies 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).
- -n, --no-scripts
- Fügen Sie den Auslöser »ldconfig« selbst dann nicht hinzu, wenn das Paket ihn scheinbar benötigt. Diese Option wird aus historischen Gründen --noscripts genannt, da dh_makeshlibs früher Betreuerskripte erzeugen würde, die ldconfig aufriefen.
- -XElement, --exclude=Element
- schließt Dateien aus, die irgendwo in ihrem Datei- oder Verzeichnisnamen Element enthalten, als Bibliotheken betrachtet zu werden.
- --add-udeb=Udeb
- erstellt eine zusätzliche Zeile für Udebs in der
Shlibs-Datei und benutzt Udeb als Paketnamen für Udebs als
Abhängigkeit, an Stelle des regulären Bibliothekpakets.
Diese Option ist nur für Sonderfälle nützlich, beispielsweise wenn Debhelper den Paketnamen des Udeb-Pakets nicht automatisch ermitteln kann, wenn das Udeb Bibliotheken aus mehreren Deb-Paketen enthalten wird oder wenn das Udeb Bibliotheken enthält, die nicht im Deb-Paket enthalten sind.
- --no-add-udeb
- Fügen Sie der Shlibs-Datei keine Udeb-Zeilen hinzu. Dies kann
benutzt werden, um die voreingestellte automatische Erkennung von Udebs zu
deaktivieren.
Dies kann nützlich sein, falls Sie gar keine Shlibs-Datei für das Udeb wollen, da kein Paket davon abhängt. Z.B. weil das Hinzufügen eines Udeb-Pakets für die Bibliothek übertrieben wäre und die Bibliothek in ein anderes Udeb-Paket eingebettet ist.
- -- Parameter
- übergibt Parameter an dpkg-gensymbols(1).
BEISPIELE¶
- dh_makeshlibs -VNone
- unter der Annahme dass dies ein Paket mit Namen libfoobar1 sei, wird eine Shlibs-Datei erzeugt, die ungefähr so aussieht: libfoobar 1 libfoobar1
- dh_makeshlibs -VUpstream-Version
- unter der Annahme, dass die aktuelle Version des Pakets 1.1-3 ist, wird eine Shlibs-Datei erzeugt, die in etwa wie folgt aussieht: libfoobar 1 libfoobar1 (>= 1.1)
- dh_makeshlibs -V 'libfoobar1 (>= 1.0)'
- erzeugt eine Shlibs-Datei, die in etwa so aussieht: libfoobar 1 libfoobar1 (>= 1.0)
SIEHE AUCH¶
debhelper(7)Dieses Programm ist Teil von Debhelper.
ÜBERSETZUNG¶
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
AUTOR¶
Joey Hess <joeyh@debian.org>2021-01-08 | 13.3.1~bpo10+1 |