Scroll to navigation

deb-symbols(5) dpkg suite deb-symbols(5)

NAAM

deb-symbols - Informatiebestand over Debian's uitgebreide gedeelde bibliotheek

OVERZICHT

DEBIAN/symbols

BESCHRIJVING

De symboolbestanden worden meegeleverd met Debian binaire pakketten en de indeling ervan maakt gebruik van deelaspecten van de sjabloonsymboolbestanden die door dpkg-gensymbols(1) in Debian broncodepakketten gebruikt worden. Zie deb-src-symbols(5).

In deze bestanden is de indeling van een item met informatie over een afhankelijkheid van de uitgebreide gedeelde bibliotheek als volgt:


bibliotheek-soname hoofd-afhankelijkheidssjabloon
[| alternatief-afhankelijkheidssjabloon]
[...]
[* veld-name: veld-waarde]
[...]
symbool minimale-versie [id-van-vereiste-sjabloon]

De bibliotheeksoname is exact de waarde van het veld SONAME zoals die door objdump(1) geëxporteerd wordt. Een afhankelijkheidssjabloon is een afhankelijkheid waarbij #MINVER# dynamisch vervangen wordt door ofwel een versietoets zoals “(>= minimale-versie)” ofwel door niets (indien een versieloze afhankelijkheid voldoende geacht wordt).

Elk geëxporteerd symbool (vermeld als naam@versie, waarbij versie “Base” is als het een versieloze bibliotheek betreft) is geassocieerd met een minimale-versie van zijn afhankelijkheidssjabloon (het hoofdafhankelijkheidssjabloon wordt altijd gebruikt en wordt uiteindelijk gecombineerd met het afhankelijkheidssjabloon waarnaar verwezen wordt door id-van-afhankelijkheidssjabloon als dat voorhanden is). Het eerste alternatieve afhankelijkheidssjabloon krijgt het nummer 1, het tweede 2 enzovoort. Elke kolom wordt door exact één witruimte gescheiden.

Elk item over een bibliotheek kan ook velden met meta-informatie bevatten. Die velden worden opgeslagen in regels die beginnen met een asterisk. Momenteel mogen enkel de volgende velden gebruikt worden:

Dit geeft de naam op van het “-dev”-pakket dat geassocieerd is met de bibliotheek en het wordt gebruikt door dpkg-shlibdeps om er zeker van te zijn dat de gegenereerde afhankelijkheid minstens even strikt is als de overeenkomstige bouw-afhankelijkheid (sinds dpkg 1.14.13)
Hetzelfde als Build-Depends-Package, maar aanvaardt een door komma's gescheiden lijst van pakketnamen (sins dpkg 1.20.0). Dit veld zal eventuele bestaande Build-Depends-Package-velden overschrijven en is vooral nuttig voor “-dev”-pakketten en ervan afhankelijke metapakketten, bijvoorbeeld voor een transitieperiode.
Dit vermeldt in een lijst met witruimte als scheidingsteken welke interne symbolengroepen genegeerd moeten worden, zodat de symbolen uit deze groepen mee opgenomen worden in het uitvoerbestand (sinds dpkg 1.20.1). Dit zou enkel noodzakelijk moeten zijn voor pakketten uit de gereedschapsketen die deze interne symbolen ter beschikking stellen. De beschikbare groepen zijn systeemafhankelijk en voor op ELF en op GNU gebaseerde systemen zijn dat aeabi en gomp.
Een verouderde alias voor Allow-Internal-Symbol-Groups (sins dpkg 1.20.1, ondersteund sinds dpkg 1.17.6).

VOORBEELDEN

Eenvoudig symboolbestand

 libftp.so.3 libftp3 #MINVER#
  DefaultNetbuf@Base 3.1-1-6
  FtpAccess@Base 3.1-1-6
  [...]

Geavanceerd symboolbestand

 libGL.so.1 libgl1
 | libgl1-mesa-glx #MINVER#
 * Build-Depends-Package: libgl1-mesa-dev
  publicGlSymbol@Base 6.3-1
  [...]
  implementationSpecificSymbol@Base 6.5.2-7 1
  [...]

ZIE OOK

<https://wiki.debian.org/Projects/ImprovedDpkgShlibdeps>, deb-src-symbols(5), dpkg-shlibdeps(1), dpkg-gensymbols(1).

2024-08-01 1.22.11