Linux repositories inspector
1.20.0

dpkg-dev

Debian package development tools

dpkg-lang

Translations for package dpkg

dpkg

Debian package management system

NAMN

dpkg-gensymbols - generera symbolfiler (information om delade bibliotek)

SYNOPS

dpkg-gensymbols [flagga...]

BESKRIVNING

dpkg-gensymbols s\(:oker genom en tempor\(:art byggtr\(:ad (som standard debian/tmp) efter bibliotek och skapar en symbols-fil som beskriver dem. Denna fil kommer sedan, s\(oavida den inte \(:ar tom, att installeras i DEBIAN-underkatalogen i byggtr\(:adet s\(oa att den hamnar i styrinformationen i paketet.
N\(:ar dessa filer skapas, anv\(:ands ett par symbolfiler fr\(oan paketansvariga som indata. Programmet s\(:oker efter f\(:oljande filer (och anv\(:ander den f\(:orsta det finner):
o debian/paket.symbols.arkitektur
o debian/symbols.arkitektur
o debian/paket.symbols
o debian/symbols
Dessa filer \(:ar i huvudsak intressanta f\(:or att kunna tillhandah\(oalla den minimala version associerad med varje symbol i biblioteken. Detta motsvarar normalt den f\(:orsta version av paketet som tillhandah\(:oll symbolen, men det kan manuellt inkrementeras av de ansvariga om symbolens ABI ut\(:okas med bibeh\(oallen bak\(oatkompatibilitet. Det \(:ar den ansvarigas ansvar att h\(oalla dessa filer \(‘ajourf\(:orda och korrekta, men dpkg-gensymbols kan hj\(:alpa till med detta.
N\(:ar den genererade symbolfilen skiljer sig mot den version som tillhandah\(oallits av de paketansvariga kommer dpkg-gensymbols att skriva ut en differens mellan de tv\(oa versionerna. Om \(:andringarna \(:ar f\(:or stora kommer programmet dessutom att misslyckas (du kan justera hur stora \(:andringar du kan tolerera, se flaggan -c).

UNDERH\(oALLA SYMBOLFILER

The base interchange format of the symbols file is described in deb-symbols(5), which is used by the symbols files included in binary packages. These are generated from template symbols files with a format based on the former, described in deb-src-symbols(5) and included in source packages.
The symbols files are really useful only if they reflect the evolution of the package through several releases. Thus the maintainer has to update them every time that a new symbol is added so that its associated minimal version matches reality.
The diffs contained in the build logs can be used as a starting point, but the maintainer, additionally, has to make sure that the behaviour of those symbols has not changed in a way that would make anything using those symbols and linking against the new version, stop working with the old version.
In most cases, the diff applies directly to the debian/package.symbols file. That said, further tweaks are usually needed: it’s recommended for example to drop the Debian revision from the minimal version so that backports with a lower version number but the same upstream version still satisfy the generated dependencies. If the Debian revision can’t be dropped because the symbol really got added by the Debian specific change, then one should suffix the version with \(oq~\(cq.
Innan man applicerar en patch p\(oa symbolfilen b\(:or de ansvariga dubbelchecka att den \(:ar korrekt. Publicerade symboler b\(:or inte f\(:orsvinna, s\(oa patchen b\(:or ideellt sett bara l\(:agga till nya rader.
Note that you can put comments in symbols files.
Gl\(:om inte att kontrollera om de gamla symbolversionerna m\(oaste \(:okas. Det finns inget s\(:att f\(:or dpkg-gensymbols att varna om detta. Att blint applicera diffen eller utg\(oa fr\(oan att inget har \(:andrats om diffen \(:ar tom, utan att se efter s\(oadana \(:andringar, kan leda till att paket med l\(:osa beroenden kan deklarera att de fungerar med \(:aldre paket de inte kan fungera tillsammans med. Detta kommer introducera sv\(oarfunna problem vid (delvisa) uppgraderingar.{

God hantering av bibliotek

Ett v\(:alunderh\(oallet bibliotek har f\(:oljande funktioner:
o dess API \(:ar stabilt (publika symboler tas aldrig bort, endast nya publika symboler l\(:aggs till) och inkompatibla \(:andringar g\(:ors endast n\(:ar SONAMNet \(:andras;
o ideellt anv\(:ander det en versionhanterade symboler f\(:or att uppr\(:atth\(oalla ABI-stabilitet trots interna \(:andringar och API-ut\(:okningar;
o det exporterar inte privata symboler (s\(oadana symboler kan taggas med "optional" f\(:or att g\(oa runt detta).
N\(:ar man underh\(oaller symbolfilen \(:ar det l\(:att att uppt\(:acka symboler som dyker upp och f\(:orsvinner. Det \(:ar sv\(oarare att uppt\(:acka inkompatibla API- och ABI-\(:andringar. Den paketansvarige b\(:or d\(:arf\(:or noggrant l\(:asa igenom uppstr\(:oms\(:andringsloggen f\(:or fall d\(oa reglerna f\(:or god hantering av bibliotek bryts. Om ett m\(:ojligt fel uppt\(:acks b\(:or uppstr\(:omsf\(:orfattaren meddelas, d\(oa det alltid \(:ar b\(:attre att problemet r\(:attas uppstr\(:oms \(:an specifikt i Debian.

FLAGGOR

-Ppaketbyggkatalog
S\(:ok paketbyggkatalog ist\(:allet f\(:or debian/tmp.
-ppaket Definiera paketnamnet. Kr\(:avs om mer \(:an ett bin\(:arpaket listas i debian/control (eller om det inte finns n\(oagon debian/control-fil).
-vversion
Definiera paketversion. Standardv\(:ardet \(:ar versionen som h\(:amtas fr\(oan debian/changelog. Kr\(:avs om programmet anropas utanf\(:or ett k\(:allkodspakettr\(:ad.
-ebiblioteksfil
Analyserar endast bibliotek som listats explicit ist\(:allet f\(:or att hitta alla publika bibliotek. Du kan anv\(:anda ett jokertecken f\(:or filnamn (se manualsidan File::Glob(3perl) f\(:or detaljer) i biblioteksfil f\(:or att tr\(:affa multipla bibliotek med ett enda argument (annars beh\(:over du flera -e).
-lkatalog
Prepend directory to the list of directories to search for private shared libraries (since dpkg 1.19.1). This option can be used multiple times.
Observera: Anv\(:and den h\(:ar flaggan ist\(:allet f\(:or att s\(:atta LD_LIBRARY_PATH, eftersom milj\(:ovariabeln anv\(:ands f\(:or att styra k\(:ortidsl\(:ankaren, och genom att utnyttja det f\(:or att ange s\(:okv\(:agen till delade bibliotek vid kompilering kan det uppst\(oa problem, till exempel vid korskompilering.
-Ifilnamn
Anv\(:and filnamn som referensfil f\(:or att generera symbolfilen som integreras i sj\(:alva paketet.
-O[filnamn]
Visa den genererade symbolfilen p\(oa standard ut eller spara som filnamn om det anges, ist\(:allet f\(:or debian/tmp/DEBIAN/symbols (eller paketbyggkatalog/DEBIAN/symbols om -P anv\(:andes). Om filnamn redan existerar kommer dess inneh\(oall att anv\(:andas som bas f\(:or den genererade symbolfilen. Du kan anv\(:anda den h\(:ar funktionen f\(:or att uppdatera en symbolfil s\(oa att den motsvarar en nyare uppstr\(:omsversion av ditt bibliotek.
-t Skriv symbolfilen i mall-l\(:age ist\(:allet f\(:or i formatet kompatibelt med deb-symbols(5). Huvudskillnaden \(:ar att symbolnamn och taggar skrivs i sin originalform i mall-l\(:aget, till skillnad fr\(oan de efterbehandlade symbolnamnen med borttagna taggar som skrivs i det kompatibla l\(:aget. Dessutom kan vissa symboler uteslutas n\(:ar en vanlig deb-symbols(5)-fil skrivs (i enlighet med tagghanteringsreglerna) medan alla symboler alltid skrivs till symbolfilsmallen.
-c[0-4] Definiera vilka kontroller som skall utf\(:oras n\(:ar den genererade symbolfilen j\(:amf\(:ors med den mallfil som anv\(:ands som startpunkt. Som standard \(:ar niv\(oan 1. Genom att \(:oka niv\(oan utf\(:ors flera kontroller, inklusive alla kontroller p\(oa l\(:agre niv\(oa. Niv\(oa 2 misslyckas om nya symboler har introducerats. Niv\(oa 3 misslyckas om n\(oagra bibliotek har f\(:orsvunnit. Niv\(oa 4 misslyckas om n\(oagra bibliotek har introducerats.
V\(:ardet kan \(:overstyras med milj\(:ovariabeln DPKG_GENSYMBOLS_CHECK_LEVEL.
-q H\(oall tyst och generera aldrig en differens mellan den genererade symbolfilen och mallfilen som anv\(:andes som startpunkt eller visa varningar om nya/f\(:orlorade bibliotek eller nya/f\(:orlorade symboler. Den h\(:ar flaggan tar endast bort informationsutdata, inte sj\(:alva kontrolleran (se flaggan -c).
-aarkitektur
Anta arkitektur som v\(:ardarkitektur vid hantering av symbolfiler. Anv\(:and den h\(:ar flaggan f\(:or att generera en symbolfil eller differens f\(:or valfri arkitektur s\(oa l\(:ange dess bin\(:arer \(:ar tillg\(:angliga.
-d Aktiverar fels\(:okningsl\(:age. Flera meddelanden visas f\(:or att f\(:orklara vad dpkg-gensymbols g\(:or.
-V Aktivera pratsamt l\(:age. Den genererade symbolfilen inneh\(oaller ej l\(:angre rekommenderade symboler som kommentarer. I mall-l\(:age f\(:oljs dessutom m\(:onstersymboler av kommentarer som visar vilka verkliga symboler som har tr\(:affats av m\(:onstret.
-?, --help Visar hj\(:alpsk\(:arm och avslutar.
--version
Visar version och avslutar.

MILJ\(:OVARIABLER

DPKG_GENSYMBOLS_CHECK_LEVEL
Overrides the command check level, even if the -c command-line argument was given (note that this goes against the common convention of command-line arguments having precedence over environment variables).
DPKG_COLORS
Sets the color mode (since dpkg 1.18.5). The currently accepted values are: auto (default), always and never.
DPKG_NLS
If set, it will be used to decide whether to activate Native Language Support, also known as internationalization (or i18n) support (since dpkg 1.19.0). The accepted values are: 0 and 1 (default).

\(:OVERS\(:ATTNING

Peter Krefting och Daniel Nylander.
⇧ Top