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-gensymbols.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-gensymbols.pod | 303 |
1 files changed, 303 insertions, 0 deletions
diff --git a/man/nl/dpkg-gensymbols.pod b/man/nl/dpkg-gensymbols.pod new file mode 100644 index 0000000..49ce4d9 --- /dev/null +++ b/man/nl/dpkg-gensymbols.pod @@ -0,0 +1,303 @@ + + ***************************************************** + * 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-gensymbols - symboolbestanden genereren (informatie over +afhankelijkheidsrelaties met gedeelde bibliotheken) + +=head1 OVERZICHT + +B<dpkg-gensymbols> [I<optie>...] + +=head1 BESCHRIJVING + +B<dpkg-gensymbols> doorzoekt een tijdelijke bouwboom (standaard is dat +debian/tmp) op zoek naar bibliotheken en genereert een I<symbols>-bestand +dat ze beschrijft. Dit bestand wordt dan als het niet leeg is, geïnstalleerd +in een onderliggende map van de bouwboom met de naam DEBIAN, zodat het +uiteindelijk opgenomen geraakt in de controle-informatie van het pakket. + +Bij het genereren van deze bestanden gebruikt het als invoer bepaalde +symboolbestanden die door de onderhouder aangeleverd worden. Het zoekt naar +de volgende bestanden (en gebruikt het eerste dat gevonden wordt): + +=over + +=item * + +debian/I<pakket>.symbols.I<arch> + +=item * + +debian/symbols.I<arch> + +=item * + +debian/I<pakket>.symbols + +=item * + +debian/symbols + +=back + +Het hoofddoel van deze bestanden is aan te geven welke de minimale versie is +die behoort bij elk van de symbolen die door de bibliotheken aangeleverd +worden. Gewoonlijk komt dit overeen met de eerste versie van het pakket dat +in dat symbool voorzag, maar dit kan door de onderhouder manueel verhoogd +worden indien de ABI van het symbool uitgebreid werd zonder dat daardoor de +neerwaartse compatibiliteit verbroken wordt. Het is de verantwoordelijkheid +van de onderhouder om deze bestanden up-to-date en accuraat te houden, maar +B<dpkg-gensymbols> helpt hierbij. + +Indien het gegenereerde symboolbestand verschilt van datgene wat de +onderhouder aanlevert, zal B<dpkg-gensymbols> de verschillen tussen de twee +versies tonen in diff-formaat. Bovendien kan dit zelfs tot een mislukking +leiden als de verschillen te significant zijn (u kunt aanpassen hoeveel +verschil u kunt tolereren; zie de optie B<-c>). + +=head1 HET ONDERHOUD VAN SYMBOOLBESTANDEN + +De basisuitwisselingsindeling van het symboolbestand wordt beschreven in +B<deb-symbols>(5), hetgeen gebruikt wordt door de symboolbestanden uit de +binaire pakketten. Deze worden gegenereerd uit sjabloonsymboolbestanden met +een indeling gebaseerd op het eerste, beschreven in B<deb-src-symbols>(5) en +opgenomen in broncodepakketten. + +De symboolbestanden zijn pas echt nuttig als ze de evolutie van het pakket +reflecteren doorheen verschillende releases. De onderhouder moet ze dus +iedere keer bijwerken wanneer een nieuw symbool toegevoegd wordt, zodat de +minimale versie die eraan gekoppeld wordt, overeenkomt met de realiteit. + +De diffs (weergave van de verschillen) die in de bouwlogs te vinden zijn, +kunnen als startpunt genomen worden, maar daarbovenop moet de onderhouder +erop letten dat het gedrag van deze symbolen niet zodanig veranderd werd, +dat iets dat van deze symbolen gebruik maakt en linkt met de nieuwe versie, +niet stopt met werken met de oude versie. + +In de meeste gevallen kan de diff rechtstreeks toegepast worden op het +bestand debian/I<pakket>.symbols. Dit gezegd zijnde, zijn verdere +aanpassingen meestal wel nodig: het wordt bijvoorbeeld aanbevolen om het +Debian revisienummer weg te laten uit de minimale versie, zodat backports +(nieuwere programmaversies die geschikt gemaakt worden voor een vroegere +release) met een lager versienummer maar eenzelfde bovenstroomse versie nog +steeds voldoen aan de gegenereerde afhankelijkheidsrelaties. Indien het +Debian revisienummer niet weggelaten kan worden omdat het symbool echt via +een Debian-specifieke aanpassing toegevoegd werd, moet men aan het +versienummer het achtervoegsel ‘B<~>’ toevoegen. + +Vooraleer een patch toe te passen op een symboolbestand, moet de onderhouder +grondig controleren of dat wel correct is. Publieke symbolen worden +verondersteld niet te verdwijnen. Een patch zou dus idealiter enkel nieuwe +regels mogen toevoegen. + +Merk op dat u in symboolbestanden commentaar kunt invoegen. + +Vergeet niet na te gaan of oudere symboolversies niet verhoogd moeten +worden. Er bestaat geen manier voor B<dpkg-gensymbols> om in dit verband +waarschuwingen te geven. Een diff (weergave van de verschillen) blindweg +toepassen of ervan uitgaan dat er niets aangepast moet worden als er geen +diff is zonder zelf op eventuele wijzigingen te controleren, kan leiden tot +pakketten met verslapte afhankelijkheidsrelaties die onterecht laten +veronderstellen dat ze met oudere pakketten kunnen samenwerken. Dit kan bij +(gedeeltelijke) opwaarderingen leiden tot moeilijk te vinden bugs. + +=head2 Goed beheer van bibliotheken + +Een goed onderhouden bibliotheek heeft de volgende functionaliteit: + +=over + +=item * + +haar API is stabiel (publieke symbolen worden nooit verwijderd, enkel worden +nieuwe publieke symbolen toegevoegd) en zij ondergaat enkel op een +incompatibele manier veranderingen als de SONAME verandert; + +=item * + +idealiter gebruikt zij symboolversienummering om ondanks interne wijzigingen +en API-uitbreidingen ABI-stabiliteit te bekomen; + +=item * + +zij exporteert geen private symbolen (dergelijke symbolen kunnen de tag +optional krijgen om dat te omzeilen). + +=back + +Bij het onderhoud van een symboolbestand is het gemakkelijk om het +verschijnen en verdwijnen van symbolen op te merken. Maar het is moeilijker +om incompatibele API- en ABI-wijzigingen op te merken. Daarom moet de +onderhouder het changelog-bestand van de toeleveraar grondig nakijken op +situaties waarbij de regels van goed bibliotheekbeheer geschonden +worden. Indien mogelijke problemen ontdekt worden, zou de toeleverende +auteur erover ingelicht moeten worden, aangezien een reparatie op het niveau +van de toeleveraar altijd te verkiezen valt boven een Debian-specifieke +tijdelijke oplossing. + +=head1 OPTIES + +=over + +=item B<-P>I<pakketbouwmap> + +Zoek in I<pakketbouwmap> in plaats van in debian/tmp. + +=item B<-p>I<pakket> + +Definieer de pakketnaam. Is vereist als meer dan één binair pakket vermeld +wordt in debian/control (of indien er geen bestand debian/control is). + +=item B<-v>I<versie> + +Definieer de pakketversie. Standaard is dat de versie die uit +debian/changelog gehaald wordt. Is vereist indien het aanroepen gebeurt van +buiten de boom van het broncodepakket. + +=item B<-e>I<bibliotheekbestand> + +Analyseer enkel de expliciet vermelde bibliotheken in plaats van alle +publieke bibliotheken te zoeken. U kunt in I<bibliotheekbestand> gebruik +maken van shell-patronen met het oog op padnaamexpansie (zie de man-pagina +B<File::Glob>(3perl) voor details) om met één enkel argument meerdere +bibliotheken aan te duiden (anders heeft u meerdere malen B<-e> nodig). + +=item B<-l>I<map> + +Voeg I<map> vooraan toe aan de lijst van mappen waarin naar private gedeelde +bibliotheken gezocht moet worden (sinds dpkg 1.19.1). 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<-I>I<bestandsnaam> + +Gebruik I<bestandsnaam> als referentiebestand om het symboolbestand te +genereren dat in het pakket zelf geïntegreerd wordt. + +=item B<-O>[I<bestandsnaam>] + +Het gegenereerde symboolbestand weergeven op de standaarduitvoer of +schrijven naar I<bestandsnaam> als dat opgegeven werd, eerder dan naar +B<debian/tmp/DEBIAN/symbols> (of I<pakketbouwmap>B</DEBIAN/symbols> indien +B<-P> gebruikt werd). Indien I<bestandsnaam> reeds bestond, wordt de inhoud +ervan gebruikt als basis voor het gegenereerde symboolbestand. U kunt van +deze functionaliteit gebruik maken om een symboolbestand bij te werken zodat +het in overeenstemming is met een nieuwere bovenstroomse versie van uw +bibliotheek. + +=item B<-t> + +Het symboolbestand in sjabloonmodus opschrijven, eerder dan in de indeling +die compatibel is met B<deb-symbols>(5). Het grootste verschil is dat in de +sjabloonmodus symboolnamen en tags geschreven worden in hun originele vorm +in tegenstelling tot in de compatibele modus waarin de verwerkte +symboolnamen ontdaan van hun tags gebruikt worden. Daarenboven kunnen bij +het schrijven van een standaard B<deb-symbols>(5)-bestand sommige symbolen +weggelaten worden (overeenkomstig de regels voor het verwerken van tags), +terwijl in een symboolbestand-sjabloon steeds alle symbolen neergeschreven +worden. + +=item B<-c>I<[0-4]> + +Definiëren welke controles moeten gebeuren bij het vergelijken van het +gegenereerde symboolbestand met het sjabloonbestand dat als vertrekpunt +gebruikt werd. Standaard is dat volgens niveau 1. Het verhogen van het +niveau leidt tot meer controles, terwijl alle controles van lagere niveaus +behouden blijven. Niveau 0 leidt nooit tot een mislukking. Niveau 1 mislukt +als er symbolen verdwenen zijn. Niveau 2 geeft een mislukking als nieuwe +symbolen geïntroduceerd werden. Niveau 3 mislukt als er bibliotheken +verdwenen zijn. Niveau 4 geeft een mislukking als nieuwe bibliotheken +geïntroduceerd werden. + +Deze waarde kan vervangen worden door de omgevingsvariabele +B<DPKG_GENSYMBOLS_CHECK_LEVEL>. + +=item B<-q> + +Stil blijven en nooit een diff (een overzicht van de verschillen) maken +tussen het gegenereerde symboolbestand en het sjabloonbestand dat als +vertrekpunt gebruikt werd en geen enkele waarschuwing tonen in verband met +nieuwe/verloren bibliotheken of nieuwe/verloren symbolen. Deze optie +schakelt enkel de informatieve uitvoer uit, maar niet de controles zelf (zie +de optie B<-c>). + +=item B<-a>I<arch> + +Uitgaan van I<arch> als host-architectuur bij het verwerken van +symboolbestanden. Gebruik deze optie om een symboolbestand of een diff +(overzicht van de verschillen) voor een willekeurige architectuur te +genereren op voorwaarde dat de binaire bestanden ervan reeds voorhanden +zijn. + +=item B<-d> + +Debug-modus aanzetten. Talrijke berichten worden dan getoond om toe te +lichten wat B<dpkg-gensymbols> doet. + +=item B<-V> + +De breedsprakige modus inschakelen. Het gegenereerde symboolbestand bevat +dan verouderde symbolen in de vorm van commentaar. In sjabloonmodus worden +daarenboven patroonsymbolen gevolgd door commentaar met daarin een opsomming +van de echte symbolen die met het patroon overeenkwamen. + +=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_GENSYMBOLS_CHECK_LEVEL> + +Overschrijft het controleniveau van het commando, zelfs als het argument +B<-c> opgegeven werd aan de commandoregel (merk op dat dit ingaat tegen de +algemeen geldende afspraak dat commandoregel-argumenten voorrang hebben op +omgevingsvariabelen). + +=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 ZIE OOK + +L<https://people.redhat.com/drepper/symbol-versioning>, +L<https://people.redhat.com/drepper/goodpractice.pdf>, +L<https://people.redhat.com/drepper/dsohowto.pdf>, B<deb-src-symbol>(5), +B<deb-symbols>(5), B<dpkg-shlibdeps>(1). + |