Man page - dpkg-gensymbols(1)
Packages contains this manual
- deb822(5)
- dpkg-vendor(1)
- deb-symbols(5)
- deb-src-rules(5)
- dpkg-mergechangelogs(1)
- dsc(5)
- deb-src-control(5)
- dpkg-shlibdeps(1)
- dpkg-genbuildinfo(1)
- dpkg-scanpackages(1)
- deb-substvars(5)
- dpkg-parsechangelog(1)
- dpkg-architecture(1)
- deb-triggers(5)
- deb-changelog(5)
- deb-extra-override(5)
- deb-buildinfo(5)
- dpkg-buildpackage(1)
- dpkg-distaddfile(1)
- dpkg-gencontrol(1)
- dpkg-buildtree(1)
- deb-postrm(5)
- deb-version(7)
- deb-prerm(5)
- deb-preinst(5)
- deb-src-files(5)
- dpkg-buildapi(1)
- dpkg-checkbuilddeps(1)
- deb-src-symbols(5)
- deb-old(5)
- dpkg-source(1)
- deb-changes(5)
- deb-origin(5)
- dpkg-buildflags(1)
- deb-override(5)
- deb(5)
- dpkg-scansources(1)
- deb-control(5)
- deb-split(5)
- deb-shlibs(5)
- dpkg-build-api(7)
- deb-postinst(5)
- deb-conffiles(5)
- dpkg-genchanges(1)
- dpkg-gensymbols(1)
- dpkg-name(1)
- deb-md5sums(5)
apt-get install dpkg-dev
Available languages:
en fr pt nl sv deManual
dpkg-gensymbols
NAMNSYNOPS
BESKRIVNING
UNDERHĂ LLA SYMBOLFILER
God hantering av bibliotek
FLAGGOR
MILJĂVARIABLER
SE ĂVEN
ĂVERSĂTTNING
NAMN
dpkg-gensymbols - generera symbolfiler (information om delade bibliotek)
SYNOPS
dpkg-gensymbols [ flagga ...]
BESKRIVNING
dpkg-gensymbols söker genom en temporÀrt byggtrÀd (som standard debian/tmp) efter bibliotek och skapar en symbols -fil som beskriver dem. Denna fil kommer sedan, sÄvida den inte Àr tom, att installeras i DEBIAN-underkatalogen i byggtrÀdet sÄ att den hamnar i styrinformationen i paketet.
NÀr dessa filer skapas, anvÀnds ett par symbolfiler frÄn paketansvariga som indata. Programmet söker efter följande filer (och anvÀnder den första det finner):
|
âą |
debian/ paket .symbols. arkitektur |
|||
|
âą |
debian/symbols. arkitektur |
|||
|
âą |
debian/ paket .symbols |
|||
|
âą |
debian/symbols |
Dessa filer Àr i huvudsak intressanta för att kunna tillhandahÄlla den minimala version associerad med varje symbol i biblioteken. Detta motsvarar normalt den första version av paketet som tillhandahöll symbolen, men det kan manuellt inkrementeras av de ansvariga om symbolens ABI utökas med bibehÄllen bakÄtkompatibilitet. Det Àr den ansvarigas ansvar att hÄlla dessa filer à jourförda och korrekta, men dpkg-gensymbols kan hjÀlpa till med detta.
NÀr den genererade symbolfilen skiljer sig mot den version som tillhandahÄllits av de paketansvariga kommer dpkg-gensymbols att skriva ut en differens mellan de tvÄ versionerna. Om Àndringarna Àr för stora kommer programmet dessutom att misslyckas (du kan justera hur stora Àndringar du kan tolerera, se flaggan -c ).
Programmet introducerades i dpkg 1.14.8.
UNDERHĂ LLA SYMBOLFILER
Det grundlÀggande utvÀxlingsformatet för symbolfilen beskrivs i deb-symbols (5), vilket anvÀnds av symbolfilerna som inkluderas i bÀrpaket. Dessa genereras frÄn mallsymbolfiler med ett format som baseras pÄ det tidigare nÀmnda, beskrivet i deb-src-symbols (5) och inkluderas i kÀllkodspaket.
Symbolfilerna Àr bara riktigt nyttiga om de motsvarar hur paketet har utvecklats över flera versioner. De paketansvariga mÄste dÀrför uppdatera dem varje gÄng en ny symbol lÀggs till sÄ att dess associerade minimala version motsvarar verkligheten.
Diffarna som inkluderas i byggloggarna kan anvÀndas som en startpunkt, men den paketansvarige mÄste dessutom se till att beteendet för symbolerna inte har Àndrats pÄ ett sÀtt som gör att nÄgot som anvÀnder symbolerna och lÀnkar mot den nya versionen slutar fungera med den gamla versionen.Diffarna som finns i byggloggarna kan anvÀndas som startpunkt, men paketansvariga mÄste dessutom se till att beteendet pÄ dessa symboler inte pÄ nÄgot sÀtt har Àndrat sig pÄ ett sÄdant sÀtt att nÄgot som anvÀnder symbolerna och lÀnkar mot den nya versionen slutar fungera med den gamla versionen.
I de flesta fall kan differensfilen appliceras direkt pĂ„ filen debian/ paket .symbols. Med det i Ă„tanke sĂ„ behövs det oftast ytterligare justeringar: det rekommenderas till exempel att skippa Debianrevisionen frĂ„n det minimala versionsnummer sĂ„ att bakĂ„tanpassningar med ett lĂ€gre versionsnummer, men med samma uppströmsversion, fortfarande uppfyller de genererade beroendena. Om Debianrevisionen inte kan tas bort pĂ„ grund av att en symbol faktiskt lades till av en Debianspecifik Ă€ndring sĂ„ bör ett â Ë â lĂ€ggs till i slutet av versionen.
Innan man applicerar en patch pÄ symbolfilen bör de ansvariga dubbelchecka att den Àr korrekt. Publicerade symboler bör inte försvinna, sÄ patchen bör ideellt sett bara lÀgga till nya rader.
Observera att du kan lÀgga in kommentarer i symbolfilerna
Glöm inte att kontrollera om de gamla symbolversionerna mÄste ökas. Det finns inget sÀtt för dpkg-gensymbols att varna om detta. Att blint applicera diffen eller utgÄ frÄn att inget har Àndrats om diffen Àr tom, utan att se efter sÄdana Àndringar, kan leda till att paket med lösa beroenden kan deklarera att de fungerar med Àldre paket de inte kan fungera tillsammans med. Detta kommer introducera svÄrfunna problem vid (delvisa) uppgraderingar.{
God hantering av bibliotek
Ett vÀlunderhÄllet bibliotek har följande funktioner:
|
âą |
dess API Àr stabilt (publika symboler tas aldrig bort, endast nya publika symboler lÀggs till) och inkompatibla Àndringar görs endast nÀr SONAME Àndras; |
||
|
âą |
ideellt anvÀnder det en versionhanterade symboler för att upprÀtthÄlla ABI-stabilitet trots interna Àndringar och API-utökningar; |
||
|
âą |
det exporterar inte privata symboler (sĂ„dana symboler kan taggas med âoptionalâ för att gĂ„ runt detta). |
NÀr man underhÄller symbolfilen Àr det lÀtt att upptÀcka symboler som dyker upp och försvinner. Det Àr svÄrare att upptÀcka inkompatibla API- och ABI-Àndringar. Den paketansvarige bör dÀrför noggrant lÀsa igenom uppströmsÀndringsloggen för fall dÄ reglerna för god hantering av bibliotek bryts. Om ett möjligt fel upptÀcks bör uppströmsförfattaren meddelas, dÄ det alltid Àr bÀttre att problemet rÀttas uppströms Àn specifikt i Debian.
FLAGGOR
-P paketbyggkatalog
Sök paketbyggkatalog istÀllet för debian/tmp.
-p paket
Definiera paketnamnet. KrÀvs om mer Àn ett binÀrpaket listas i debian/control (eller om det inte finns nÄgon debian/control-fil).
-v version
Definiera paketversion. StandardvÀrdet Àr versionen som hÀmtas frÄn debian/changelog. KrÀvs om programmet anropas utanför ett kÀllkodspakettrÀd.
-e biblioteksfil
Analyserar endast bibliotek som listats explicit istÀllet för att hitta alla publika bibliotek. Du kan anvÀnda ett jokertecken för filnamn (se manualsidan File::Glob för detaljer) i biblioteksfil för att trÀffa multipla bibliotek med ett enda argument (annars behöver du flera -e ).
-l katalog
LÀgg till katalog till först i listan över kataloger som ska eftersökas efter privata delade bibliotek (sedan dpkg 1.19.1). Flaggan kan anvÀndas flera gÄnger.
Observera : AnvÀnd den hÀr flaggan istÀllet för att sÀtta LD_LIBRARY_PATH , eftersom miljövariabeln anvÀnds för att styra körtidslÀnkaren, och genom att utnyttja det för att ange sökvÀgen till delade bibliotek vid kompilering kan det uppstÄ problem, till exempel vid korskompilering.
-I filnamn
AnvÀnd filnamn som referensfil för att generera symbolfilen som integreras i sjÀlva paketet.
-O [ filnamn ]
Visa den genererade symbolfilen pÄ standard ut eller spara som filnamn om det anges, istÀllet för debian/tmp/DEBIAN/symbols (eller paketbyggkatalog /DEBIAN/symbols om -P anvÀndes). Om filnamn redan existerar kommer dess innehÄll att anvÀndas som bas för den genererade symbolfilen. Du kan anvÀnda den hÀr funktionen för att uppdatera en symbolfil sÄ att den motsvarar en nyare uppströmsversion av ditt bibliotek.
|
-t |
Skriv symbolfilen i mall-lÀge istÀllet för i formatet kompatibelt med deb-symbols (5). Huvudskillnaden Àr att symbolnamn och taggar skrivs i sin originalform i mall-lÀget, till skillnad frÄn de efterbehandlade symbolnamnen med borttagna taggar som skrivs i det kompatibla lÀget. Dessutom kan vissa symboler uteslutas nÀr 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
ska utföras nÀr den genererade symbolfilen
jÀmförs med den mallfil som anvÀnds som
startpunkt. Som standard Àr nivÄn 1. Genom att
öka nivÄn utförs flera kontroller, inklusive
alla kontroller pÄ lÀgre nivÄ.
NivÄ 0
Misslyckas aldrig.
NivÄ 1
Misslyckas om nÄgra symboler har försvunnit.
NivÄ 2
Misslyckas om nya symboler har introducerats.
NivÄ 3
Misslyckas om nÄgra bibliotek har försvunnit.
NivÄ 4
Misslyckas om nÄgra bibliotek har introducerats.
VÀrdet kan överstyras med miljövariabeln DPKG_GENSYMBOLS_CHECK_LEVEL .
|
-q |
HÄll tyst och generera aldrig en differens mellan den genererade symbolfilen och mallfilen som anvÀndes som startpunkt eller visa varningar om nya/förlorade bibliotek eller nya/förlorade symboler. Den hÀr flaggan tar endast bort informationsutdata, inte sjÀlva kontrolleran (se flaggan -c ). |
-a arkitektur
Anta arkitektur som vÀrdarkitektur vid hantering av symbolfiler. AnvÀnd den hÀr flaggan för att generera en symbolfil eller differens för valfri arkitektur sÄ lÀnge dess binÀrer Àr tillgÀngliga.
|
-d |
Aktiverar felsökningslÀge. Flera meddelanden visas för att förklara vad dpkg-gensymbols gör. |
||
|
-V |
Aktivera pratsamt lÀge. Den genererade symbolfilen innehÄller ej lÀngre rekommenderade symboler som kommentarer. I mall-lÀge följs dessutom mönstersymboler av kommentarer som visar vilka verkliga symboler som har trÀffats av mönstret. |
-? , --help
Visar hjÀlpskÀrm och avslutar.
--version
Visar version och avslutar.
MILJĂVARIABLER
DEB_HOST_ARCH
Anger vÀrdarkitekturen om flaggan --arch inte har angivits.
DPKG_GENSYMBOLS_CHECK_LEVEL
Ăverstyr kommandokontrollnivĂ„n, Ă€ven om kommandoradsflaggan -c gavs (observera att detta gĂ„r mot den normala konventionen att kommandoardsflaggor har företrĂ€de över miljövariabler).
DPKG_COLORS
VÀljer fÀrglÀge (sedan dpkg 1.18.5). För nÀrvarande godtas följande vÀrden: auto (förval), always och never .
DPKG_NLS
Om satt, anvÀnds för att bestÀmma om lokalt sprÄkstöd ska aktiveras, Àven kÀnt som internationaliseringsstöd (eller i18n) (sedan dpkg 1.19.0). TillÄtna vÀrden Àr: 0 och 1 (förval).
SE ĂVEN
<https://people.redhat.com/drepper/symbol-versioning>, <https://people.redhat.com/drepper/goodpractice.pdf>, <https://people.redhat.com/drepper/dsohowto.pdf>, deb-src-symbol (5), deb-symbols (5), dpkg-shlibdeps (1).
ĂVERSĂTTNING
Peter Krefting och Daniel Nylander.