diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 09:40:31 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 09:40:31 +0000 |
commit | b86570f63e533abcbcb97c2572e0e5732a96307b (patch) | |
tree | cabc83be691530ae685c45a8bc7620ccc0e1ebdf /man/nl/dpkg-shlibdeps.pod | |
parent | Initial commit. (diff) | |
download | dpkg-upstream.tar.xz dpkg-upstream.zip |
Adding upstream version 1.20.13.upstream/1.20.13upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | man/nl/dpkg-shlibdeps.pod | 449 |
1 files changed, 449 insertions, 0 deletions
diff --git a/man/nl/dpkg-shlibdeps.pod b/man/nl/dpkg-shlibdeps.pod new file mode 100644 index 0000000..45d272a --- /dev/null +++ b/man/nl/dpkg-shlibdeps.pod @@ -0,0 +1,449 @@ + + ***************************************************** + * GENERATED FILE, DO NOT EDIT * + * THIS IS NO SOURCE FILE, BUT RESULT OF COMPILATION * + ***************************************************** + +This file was generated by po4a(7). Do not store it (in VCS, for example), +but store the PO file used as source file by po4a-translate. + +In fact, consider this as a binary, and the PO file as a regular .c file: +If the PO get lost, keeping this translation up-to-date will be harder. + +=encoding UTF-8 + +=head1 NAAM + +dpkg-shlibdeps - substitutievariabelen genereren over +afhankelijkheidsrelaties tot gedeelde bibliotheken + +=head1 OVERZICHT + +B<dpkg-shlibdeps> [I<optie>...] [B<-e>] I<programma> [I<optie>...] + +=head1 BESCHRIJVING + +B<dpkg-shlibdeps> berekent de afhankelijkheidsrelaties tot gedeelde +bibliotheken voor de programma's die genoemd worden in zijn argumenten. De +afhankelijkheden worden in het bestand met substitutievariabelen +B<debian/substvars> toegevoegd als variabelenaam +B<shlibs:>I<afhankelijkheidsveld>, waarbij I<afhankelijkheidsveld> de naam +van een afhankelijkheidsveld is. Eventuele andere variabelen die met +B<shlibs:> beginnen worden uit het bestand verwijderd. + +B<dpkg-shlibdeps> heeft twee mogelijke informatiebronnen om +afhankelijkheidsinformatie te genereren, ofwel I<symbols>-bestanden ofwel +I<shlibs>-bestanden. Voor elke binair pakket dat B<dpkg-shlibdeps> +analyseert, zoekt het de lijst van bibliotheken op waarmee het gelinkt +is. Vervolgens zoekt het voor iedere bibliotheek ofwel het +I<symbols>-bestand of het I<shlibs>-bestand (indien het eerste niet bestaat +of indien debian/shlibs.local de relevante afhankelijkheidsinformatie bevat) +op. Beide bestanden worden verondersteld geleverd te worden door het +bibliotheekpakket en zouden dus te vinden moeten zijn als +%ADMINDIR%/info/I<pakket>.I<symbols> of +/var/lib/dpkg/info/I<pakket>.I<shlibs>. De naam van het pakket wordt in twee +stappen gevonden: het bibliotheekbestand opzoeken op het systeem (er wordt +in dezelfde mappen gezocht als die welke B<ld.so> zou gebruiken) en dan +B<dpkg -S> I<bibliotheekbestand> gebruiken om het pakket op te zoeken dat de +bibliotheek levert. + +=head2 Symboolbestanden + +Symboolbestanden bevatten fijnmazige afhankelijkheidsinformatie door voor +ieder symbool dat de bibliotheek exporteert, de minimumvereiste op te +geven. Het script tracht een symboolbestand dat bij een bibliotheekpakket +hoort op de volgende plaatsen te vinden (het eerste dat gevonden wordt, +wordt gebruikt): + +=over + +=item debian/*/DEBIAN/symbols + +Informatie over gedeelde bibliotheken die gegenereerd werd door het huidige +bouwproces dat ook B<dpkg-shlibdeps> aanriep. Zij worden gegenereerd door +B<dpkg-gensymbols>(1). Ze worden enkel gebruikt als de bibliotheek +aangetroffen wordt in de bouwboom van een pakket. Het bestand symbols in die +bouwboom heeft voorrang op symboolbestanden van andere binaire pakketten. + +=item %PKGCONFDIR%/symbols/I<pakket>.symbols.I<arch> + +=item %PKGCONFDIR%/symbols/I<pakket>.symbols + +Systeemspecifieke vervangingsinformatie over afhankelijkheidsrelaties tot +gedeelde bibliotheken. I<arch> is de architectuur van het huidige systeem +(verkregen door B<dpkg-architecture -qDEB_HOST_ARCH>). + +=item Uitvoer van “B<dpkg-query --control-path> I<pakket> symbols” + +Door een pakket verstrekte informatie over afhankelijkheidsrelaties tot +gedeelde bibliotheken. Tenzij anders bepaald door B<--admindir>, zijn deze +bestanden te vinden in %ADMINDIR%. + +=back + +Tijdens het doorzoeken van de door al de programma's gebruikte symbolen, +onthoudt B<dpkg-shlibdeps> van elke bibliotheek de (hoogste) minimale versie +die nodig is. Op het eind van het proces is het in staat voor elke gebruikte +bibliotheek uit te schrijven wat de minimale vereiste is (in de +veronderstelling dat de informatie uit de I<symbols>-bestanden accuraat is). + +Bij wijze van beschermende maatregel kan een symbols-bestand een +meta-informatieveld B<Build-Depends-Pakket> bevatten. Dan zal +B<dpkg-shlibdeps> de door het corresponderende pakket vereiste minimale +versie halen uit het veld B<Build-Depends> en deze versie gebruiken als ze +hoger is dan de minimale versie die berekend werd via het doorzoeken van +symbolen. + +=head2 Shlibs-bestanden + +Shlibs-bestanden koppelen rechtstreeks een bibliotheek aan een vereiste +(zonder naar de symbolen te kijken). Dit is dus dikwijls strikter dan echt +nodig, maar erg veilig en gemakkelijk te hanteren. + +De afhankelijkheidsrelaties tot een bibliotheek worden op verschillende +plaatsen opgezocht. Het eerste bestand dat informatie biedt over de +bibliotheek in kwestie, wordt gebruikt: + +=over + +=item debian/shlibs.local + +Pakket-eigen vervangende informatie over afhankelijkheidsrelaties tot +gedeelde bibliotheken. + +=item %PKGCONFDIR%/shlibs.override + +Systeemspecifieke vervangende informatie over afhankelijkheidsrelaties tot +gedeelde bibliotheken. + +=item debian/*/DEBIAN/shlibs + +Informatie over gedeelde bibliotheken die gegenereerd werd door het huidige +bouwproces dat ook B<dpkg-shlibdeps> inriep. Ze wordt enkel gebruikt als de +bibliotheek aangetroffen wordt in de bouwboom van het pakket. Het +shlibs-bestand in die bouwboom heeft voorrang op shlibs-bestanden van andere +binaire pakketten. + +=item Uitvoer van “B<dpkg-query --control-path> I<pakket> shlibs” + +Door een pakket verstrekte informatie over afhankelijkheidsrelaties tot +gedeelde bibliotheken. Tenzij anders bepaald door B<--admindir>, zijn deze +bestanden te vinden in %ADMINDIR%. + +=item %PKGCONFDIR%/shlibs.default + +Systeemspecifieke standaardinformatie over afhankelijkheidsrelaties tot +gedeelde bibliotheken. + +=back + +De uitgelichte afhankelijkheden worden dan rechtstreeks gebruikt (behalve +als ze uitgefilterd werden omdat ze als duplicaten onderkend werden of als +zwakker dan een andere afhankelijkheid). + +=head1 OPTIES + +Argumenten die geen opties zijn, worden door B<dpkg-shlibdeps> +geïnterpreteerd als namen van programma's, net alsof ze opgegeven werden als +B<-e>I<programma>. + +=over + +=item B<-e>I<programma> + +De gepaste afhankelijkheidsrelaties tot gedeelde bibliotheken die nodig zijn +voor I<programma>, toevoegen. Deze optie kan meermaals gebruikt worden. + +=item B<-l>I<map> + +I<map> vooraan toevoegen aan de lijst van mappen waarin naar particuliere +gedeelde bibliotheken gezocht moet worden (sinds dpkg 1.17.0). Deze optie +kan meermaals gebruikt worden. + +B<Opmerking:> gebruik deze optie in de plaats van het instellen van +B<LD_LIBRARY_PATH>, aangezien die omgevingsvariabele gebruikt wordt om de +runtime linker aan te sturen. Daarvan misbruik maken om de paden van +gedeelde bibliotheken in te stellen tijdens het bouwen van het programma, +kan problematisch zijn, bijvoorbeeld bij het cross-compileren. + +=item B<-d>I<afhankelijkheidsveld> + +Afhankelijkheidsinformatie opgeven die toegevoegd moet worden aan het +afhankelijkheidsveld I<afhankelijkheidsveld> van het bestand control. (De +afhankelijkheidsinformatie voor dit veld wordt in de variabele +B<shlibs:>I<dependency-field> geplaatst.) + +De optie B<-d>I<afhankelijkheidsveld> heeft uitwerking voor alle programma's +na de optie tot aan het volgende B<-d>I<afhankelijkheidsveld>. Het standaard +I<afhankelijkheidsveld> is B<Depends>. + +Indien hetzelfde afhankelijkheidsitem (of set van alternatieven) te vinden +is in meer dan een van de herkende namen voor afhankelijkheidsvelden +B<Pre-Depends>, B<Depends>, B<Recommends>, B<Enhances> of B<Suggests>, zal +B<dpkg-shlibdeps> de afhankelijkheid automatisch uit alle velden +verwijderen, behalve uit het veld dat de belangrijkste afhankelijkheid +vertegenwoordigt. + +=item B<-p>I<variabelenaamprefix> + +Substitutievariabelen beginnen met I<variabelenaamprefix>B<:> in plaats van +met B<shlibs:>. Op dezelfde wijze worden eventuele substitutievariabelen die +beginnen met I<variabelenaamprefix>B<:> (in plaats van met B<shlibs:>), +verwijderd uit het bestand met substitutievariabelen. + +=item B<-O>[I<bestandsnaam>] + +De instellingen in verband met substitutievariabelen weergeven op de +standaarduitvoer (of in I<bestandsnaam> als die opgegeven werd; sinds dpkg +1.17.2), eerder dan ze toe te voegen aan het bestand met +substitutievariabelen (standaard is dat B<debian/substvars>). + +=item B<-t>I<type> + +De voorrang geven aan informatie over afhankelijkheidsrelaties tot gedeelde +bibliotheken die gemarkeerd werd als geldend voor het opgegeven +pakkettype. Indien er geen gemarkeerde informatie te vinden is, wordt +teruggevallen op niet-gemarkeerde informatie. Het standaardpakkettype is +B<deb>. Informatie over afhankelijkheidsrelaties tot gedeelde bibliotheken +wordt gemarkeerd als geldend voor een bepaald type door ze te laten +voorafgaan door de naam van dat type, een dubbele punt en witruimte. + +=item B<-L>I<lokaal-shlibs-bestand> + +Vervangende informatie over afhankelijkheidsrelaties tot gedeelde +bibliotheken lezen uit I<lokaal-shlibs-bestand> in plaats van uit +B<debian/shlibs.local>. + +=item B<-T>I<substvars-bestand> + +Substitutievariabelen opschrijven in I<substvars-bestand>. Standaard is dat +B<debian/substvars>. + +=item B<-v> + +De breedsprakige modus inschakelen (sinds dpkg 1.14.8). Talrijke berichten +worden weergegeven om uit te leggen wat B<dpkg-shlibdeps> doet. + +=item B<-x>I<pakket> + +Het pakket uitsluiten van de gegenereerde afhankelijkheden (sinds dpkg +1.14.8). Dit is nuttig om een afhankelijkheid van zichzelf te vermijden voor +pakketten die binaire bestanden van het type ELF aanleveren (programma's of +bibliotheekuitbreidingen), waarbij die binaire bestanden gebruik maken van +een bibliotheek die in hetzelfde pakket te vinden is. Deze optie kan +meermaals gebruikt worden om meerdere pakketten uit te sluiten. + +=item B<-S>I<pakket-bouwmap> + +Eerst zoeken in I<pakket-bouwmap> bij het zoeken naar een bibliotheek (sinds +dpkg 1.14.15). Dit is nuttig als het broncodepakket meerdere varianten van +dezelfde bibliotheek bouwt en u zeker wilt zijn dat u de afhankelijkheden +krijgt van een specifiek binair pakket. U kunt deze optie meermaals +gebruiken: mappen zullen in de opgegeven volgorde doorzocht worden vooraleer +gezocht wordt in de mappen van andere binaire pakketten. + +=item B<-I>I<pakketbouwmap> + +I<pakketbouwmap> overslaan bij het zoeken naar shlibs-, symbolen- en +gedeelde bibliotheek-bestanden (sinds dpkg 1.18.5). U kunt deze optie +meermaals gebruiken. + +=item B<--ignore-missing-info> + +Het niet als een mislukking beschouwen als voor een gedeelde bibliotheek +geen afhankelijkheidsinformatie gevonden kan worden (sinds dpkg 1.14.8). Het +wordt afgeraden om deze optie te gebruiken. Alle bibliotheken zouden +afhankelijkheidsinformatie moeten verschaffen (ofwel via shlibs-bestanden of +via symboolbestanden), zelfs als die nog niet door andere pakketten gebruikt +wordt. + +=item B<--warnings=>I<waarde> + +I<waarde> is een bit-veld dat aangeeft welke set waarschuwingen +B<dpkg-shlibdeps> kan geven (sinds dpkg 1.14.17). Bit 0 (waarde=1) activeert +de waarschuwing “symbool I<sym> dat door I<binair-bestand> gebruikt wordt, +werd in geen enkele bibliotheek aangetroffen”, bit 1 (waarde=2) activeert de +waarschuwing “pakket zou een nutteloze afhankelijkheid kunnen vermijden” en +bit 2 (waarde=4) activeert de waarschuwing “I<binair-bestand> zou niet +gelinkt moeten worden met I<bibliotheek>”. De standaard-I<waarde> is 3: +standaard zijn de eerste twee waarschuwingen geactiveerd, de laatste +niet. Stel de I<waarde> in op 7 indien u wilt dat alle waarschuwingen +geactiveerd worden. + +=item B<--admindir=>I<map> + +Een andere locatie opgeven voor de database van B<dpkg> (sinds dpkg +1.14.0). De standaardlocatie is I<%ADMINDIR%>. + +=item B<-?>, B<--help> + +Info tonen over het gebruik en afsluiten. + +=item B<--version> + +De versie tonen en afsluiten. + +=back + +=head1 OMGEVING + +=over + +=item B<DPKG_COLORS> + +Stelt de kleurmodus in (sinds dpkg 1.18.5). Waarden die momenteel gebruikt +mogen worden zijn: B<auto> (standaard), B<always> en B<never>. + +=item B<DPKG_NLS> + +Indien dit ingesteld is, zal het gebruikt worden om te beslissen over het +activeren van moedertaalondersteuning, ook gekend als +internationaliseringsondersteuning (of i18n) (sinds dpkg 1.19.0). Geldige +waarden zijn: B<0> and B<1> (standaard). + +=back + +=head1 DIAGNOSTIEK + +=head2 Waarschuwingen + +Aangezien B<dpkg-shlibdeps> de set symbolen analyseert die gebruikt wordt +door elk binair bestand uit het gegeneerde pakket, is het in staat om in +verschillende gevallen waarschuwingen te geven. Zij geven u informatie over +zaken die in het pakket verbeterd kunnen worden. In de meeste gevallen +hebben die verbeteringen rechtstreeks betrekking op de broncode van de +toeleveraar (upstream). In aflopende volgorde van belangrijkheid volgen +hierna de waarschuwingen die u kunt krijgen: + +=over + +=item B<symbool> I<sym> B<gebruikt door> I<binair-bestand> B<in geen enkele +bibliotheek gevonden.> + +Het aangegeven symbool werd niet aangetroffen in de bibliotheken die met het +binair bestand gelinkt werden. Hoogstwaarschijnlijk is I<binair-bestand> een +bibliotheek die gelinkt moet worden met een andere bibliotheek tijdens het +bouwproces (optie B<-l>I<bibliotheek> van de linker). + +=item I<Binair bestand> B<bevat een onoplosbare verwijzing naar symbool> I<sym>B<: +wellicht is het een uitbreiding> + +Het aangegeven symbool werd niet aangetroffen in de bibliotheken die gelinkt +zijn met het binair bestand. Hoogstwaarschijnlijk is het I<binair-bestand> +een uitbreiding (plug-in) en wordt het symbool ter beschikking gesteld door +het programma dat deze uitbreiding laadt. In theorie heeft een uitbreiding +geen SONAME, maar dit binair bestand heeft er wel een en in die hoedanigheid +kon het niet met zekerheid geïdentificeerd worden als een uitbreiding. Het +feit evenwel dat het binaire bestand opgeslagen wordt in een niet-publieke +map is een sterke aanwijzing dat het niet om een gewone gedeelde bibliotheek +gaat. Indien het binaire bestand effectief een uitbreiding is, mag u deze +waarschuwing negeren. Maar er bestaat altijd een kans dat het om een echte +bibliotheek gaat en dat programma's die ermee linken gebruik manken van een +RPATH waardoor de dynamische lader ze kan vinden. In dat geval gaat het om +een defecte bibliotheek en moet het defect gerepareerd worden. + +=item B<Het pakket zou een nutteloze afhankelijkheid kunnen vermijden indien> +I<binair-bestand> B<niet gelinkt was met> I<bibliotheek> B<(het gebruikt +geen enkel symbool van de bibliotheek)> + +Geen enkel van de I<binaire-bestanden> die gelinkt werden met I<bibliotheek> +gebruikt een symbool dat door de bibliotheek aangeleverd wordt. Door al de +binaire bestanden te repareren zou u de afhankelijkheidsrelatie die verband +houdt met deze bibliotheek, kunnen vermijden (tenzij dezelfde +afhankelijkheid ook gegenereerd wordt door een andere bibliotheek die echt +gebruikt wordt). + +=item B<Het pakket zou een nutteloze vereiste kunnen vermijden indien> +I<programma's> B<niet gelinkt waren met> I<bibliotheek> B<(ze gebruiken geen +enkel symbool van de bibliotheek)> + +Identiek dezelfde waarschuwing als hierboven, maar dan voor meerdere +programma's. + +=item I<Binair-bestand> B<zou niet gelinkt moeten worden met> I<bibliotheek> +B<(het gebruikt geen enkel symbool van de bibliotheek)> + +Het I<binair-bestand> is gelinkt met een bibliotheek die het niet nodig +heeft. Dit is geen probleem, maar er kan een kleine prestatiewinst bekomen +worden wat de laadtijd van het binair bestand betreft, door deze bibliotheek +niet met dit binair bestand te koppelen. Deze waarschuwing controleert +dezelfde informatie als de voorgaande, maar doet dit voor elk binair bestand +in plaats van de toets globaal uit te voeren voor alle geanalyseerde binaire +bestanden. + +=back + +=head2 Fouten + +B<dpkg-shlibdeps> zal mislukken als het een publieke bibliotheek die door +een binair bestand gebruikt wordt, niet kan vinden of indien er geen +afhankelijkheidsinformatie (ofwel een shlibs-bestand of een symboolbestand) +aan die bibliotheek gekoppeld is. Een publieke bibliotheek heeft een SONAME +en heeft een versienummer (lib-iets.so.I<X>). Een private bibliotheek (zoals +een uitbreiding - plug-in) zou geen SONAME mogen hebben en heeft geen +versienummer nodig. + +=over + +=item B<Kon bibliotheek> I<SONAME-van-bibliotheek> B<die> I<binair-bestand> +B<nodig heeft, niet vinden (het RPATH ervan is '>I<rpath>B<')> + +Het I<binair-bestand> gebruikt een bibliotheek met de naam +I<soname-van-bibliotheek>, maar B<dpkg-shlibdeps> heeft de bibliotheek niet +kunnen vinden. B<dpkg-shlibdeps> legt als volgt een lijst van te controleren +mappen aan: mappen die vermeld worden in het RPATH van het binair bestand, +mappen die toegevoegd werden via de optie B<-l>, mappen die vermeld worden +in de omgevingsvariabele B<LD_LIBRARY_PATH>, kruismultiarch-mappen +(bijv. /lib/arm64-linux-gnu, /usr/lib/arm64-linux-gnu), standaard publieke +mappen (/lib, /usr/lib), mappen vermeld in /etc/ld.so.conf en verouderde +multibibliotheekmappen (/lib32, /usr/lib32, /lib64, /usr/lib64). Daarna +controleert het die mappen binnenin de bouwboom van het binaire pakket dat +geanalyseerd wordt, binnenin de pakketbouwbomen die met de +commandoregeloptie B<-S> opgegeven werden, binnenin de bouwbomen van andere +pakketten die een bestand DEBIAN/shlibs of DEBIAN/symbols hebben en +tenslotte in de basismap. Als de bibliotheek in geen enkele van die mappen +aangetroffen wordt, krijgt u deze foutmelding. + +Indien de niet-gevonden bibliotheek zich in een private map van hetzelfde +pakket bevindt, dan moet u die map toevoegen met de optie B<-l>. Als ze zich +bevindt in een ander binair pakket dat gebouwd wordt, moet u erop letten dat +het bestand shlibs/symbols van dat pakket reeds gemaakt is en dat B<-l> de +gepaste map bevat als ze zich ook in een private map bevindt. + +=item B<Geen afhankelijkheidsinformatie gevonden voor> I<bibliotheekbestand> +B<(dat gebruikt wordt door> I<binair-bestand>B<).> + +De bibliotheek die I<binair-bestand> nodig heeft, werd door +B<dpkg-shlibdeps> in I<bibliotheekbestand> gevonden, maar B<dpkg-shlibdeps> +was niet in staat vereisteninformatie voor die bibliotheek te vinden. Om +vereistengegevens te vinden heeft het geprobeerd de bibliotheek op te zoeken +in een Debian pakket met behulp van B<dpkg -S> I<bibliotheekbestand>. Daarna +heeft het de overeenkomstige shlibs- en symbols-bestanden nagekeken in +%ADMINDIR%/info/ en in de verschillende bouwbomen van het pakket +(debian/*/DEBIAN/). + +Deze mislukking kan veroorzaakt worden door een slecht of ontbrekend shlibs- +of symbols-bestand in het pakket van de bibliotheek. Ze kan zich ook +voordoen als de bibliotheek gebouwd wordt binnen hetzelfde broncodepakket en +de shlibs-bestanden nog niet aangemaakt zijn (in dat geval moet u +debian/rules repareren zodat de shlibs gemaakt worden voordat +B<dpkg-shlibdeps> ingeroepen wordt). Een slecht RPATH kan er ook toe leiden +dat de bibliotheek te vinden is onder een niet-conforme naam (bijvoorbeeld +/usr/lib/openoffice.org/../lib/libssl.so.0.9.8 in plaats van +/usr/lib/libssl.so.0.9.8), die aan geen enkel pakket gekoppeld +is. B<dpkg-shlibdeps> tracht dit te omzeilen door terug te vallen op een +conforme naam (met behulp van B<realpath>(3)), maar dit lukt niet +altijd. Het is altijd het beste om het RPATH van het binair bestand uit te +zuiveren om problemen te voorkomen. + +Het inroepen van B<dpkg-shlibdeps> in de breedsprakige modus (B<-v>) zal +veel meer informatie geven over waar het programma de +afhankelijkheidsinformatie tracht te vinden. Dit kan nuttig zijn indien u +niet begrijpt waarom u deze foutmelding krijgt. + +=back + +=head1 ZIE OOK + +B<deb-shlibs>(5), B<deb-symbols>(5), B<dpkg-gensymbols>(1). + |