.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "dpkg-gensymbols 1" .TH dpkg-gensymbols 1 2024-03-10 1.22.6 "dpkg suite" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NAMN .IX Header "NAMN" dpkg-gensymbols \- generera symbolfiler (information om delade bibliotek) .SH SYNOPS .IX Header "SYNOPS" \&\fBdpkg-gensymbols\fR [\fIflagga\fR...] .SH BESKRIVNING .IX Header "BESKRIVNING" \&\fBdpkg-gensymbols\fR s\(:oker genom en tempor\(:art byggtr\(:ad (som standard debian/tmp) efter bibliotek och skapar en \fIsymbols\fR\-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. .PP 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): .IP \(bu 4 debian/\fIpaket\fR.symbols.\fIarkitektur\fR .IP \(bu 4 debian/symbols.\fIarkitektur\fR .IP \(bu 4 debian/\fIpaket\fR.symbols .IP \(bu 4 debian/symbols .PP 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 \fBdpkg-gensymbols\fR kan hj\(:alpa till med detta. .PP N\(:ar den genererade symbolfilen skiljer sig mot den version som tillhandah\(oallits av de paketansvariga kommer \fBdpkg-gensymbols\fR 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 \fB\-c\fR). .PP Programmet introducerades i dpkg 1.14.8. .SH "UNDERH\(oALLA SYMBOLFILER" .IX Header "UNDERH\(oALLA SYMBOLFILER" Det grundl\(:aggande utv\(:axlingsformatet f\(:or symbolfilen beskrivs i \fBdeb\-symbols\fR\|(5), vilket anv\(:ands av symbolfilerna som inkluderas i b\(:arpaket. Dessa genereras fr\(oan mallsymbolfiler med ett format som baseras p\(oa det tidigare n\(:amnda, beskrivet i \fBdeb\-src\-symbols\fR\|(5) och inkluderas i k\(:allkodspaket. .PP Symbolfilerna \(:ar bara riktigt nyttiga om de motsvarar hur paketet har utvecklats \(:over flera versioner. De paketansvariga m\(oaste d\(:arf\(:or uppdatera dem varje g\(oang en ny symbol l\(:aggs till s\(oa att dess associerade minimala version motsvarar verkligheten. .PP Diffarna som inkluderas i byggloggarna kan anv\(:andas som en startpunkt, men den paketansvarige m\(oaste dessutom se till att beteendet f\(:or symbolerna inte har \(:andrats p\(oa ett s\(:att som g\(:or att n\(oagot som anv\(:ander symbolerna och l\(:ankar mot den nya versionen slutar fungera med den gamla versionen.Diffarna som finns i byggloggarna kan anv\(:andas som startpunkt, men paketansvariga m\(oaste dessutom se till att beteendet p\(oa dessa symboler inte p\(oa n\(oagot s\(:att har \(:andrat sig p\(oa ett s\(oadant s\(:att att n\(oagot som anv\(:ander symbolerna och l\(:ankar mot den nya versionen slutar fungera med den gamla versionen. .PP I de flesta fall kan differensfilen appliceras direkt p\(oa filen debian/\fIpaket\fR.symbols. Med det i \(oatanke s\(oa beh\(:ovs det oftast ytterligare justeringar: det rekommenderas till exempel att skippa Debianrevisionen fr\(oan det minimala versionsnummer s\(oa att bak\(oatanpassningar med ett l\(:agre versionsnummer, men med samma uppstr\(:omsversion, fortfarande uppfyller de genererade beroendena. Om Debianrevisionen inte kan tas bort p\(oa grund av att en symbol faktiskt lades till av en Debianspecifik \(:andring s\(oa b\(:or ett \(rq\fB~\fR\(rq l\(:aggs till i slutet av versionen. .PP 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. .PP Observera att du kan l\(:agga in kommentarer i symbolfilerna .PP Gl\(:om inte att kontrollera om de gamla symbolversionerna m\(oaste \(:okas. Det finns inget s\(:att f\(:or \fBdpkg-gensymbols\fR 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.{ .SS "God hantering av bibliotek" .IX Subsection "God hantering av bibliotek" Ett v\(:alunderh\(oallet bibliotek har f\(:oljande funktioner: .IP \(bu 4 dess API \(:ar stabilt (publika symboler tas aldrig bort, endast nya publika symboler l\(:aggs till) och inkompatibla \(:andringar g\(:ors endast n\(:ar SONAME \(:andras; .IP \(bu 4 ideellt anv\(:ander det en versionhanterade symboler f\(:or att uppr\(:atth\(oalla ABI-stabilitet trots interna \(:andringar och API\-ut\(:okningar; .IP \(bu 4 det exporterar inte privata symboler (s\(oadana symboler kan taggas med \(rqoptional\(rq f\(:or att g\(oa runt detta). .PP 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. .SH FLAGGOR .IX Header "FLAGGOR" .IP \fB\-P\fR\fIpaketbyggkatalog\fR 4 .IX Item "-Ppaketbyggkatalog" S\(:ok \fIpaketbyggkatalog\fR ist\(:allet f\(:or debian/tmp. .IP \fB\-p\fR\fIpaket\fR 4 .IX Item "-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). .IP \fB\-v\fR\fIversion\fR 4 .IX Item "-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. .IP \fB\-e\fR\fIbiblioteksfil\fR 4 .IX Item "-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 f\(:or detaljer) i \fIbiblioteksfil\fR f\(:or att tr\(:affa multipla bibliotek med ett enda argument (annars beh\(:over du flera \fB\-e\fR). .IP \fB\-l\fR\fIkatalog\fR 4 .IX Item "-lkatalog" L\(:agg till \fIkatalog\fR till f\(:orst i listan \(:over kataloger som ska efters\(:okas efter privata delade bibliotek (sedan dpkg 1.19.1). Flaggan kan anv\(:andas flera g\(oanger. .Sp \&\fBObservera\fR: Anv\(:and den h\(:ar flaggan ist\(:allet f\(:or att s\(:atta \fBLD_LIBRARY_PATH\fR, 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. .IP \fB\-I\fR\fIfilnamn\fR 4 .IX Item "-Ifilnamn" Anv\(:and \fIfilnamn\fR som referensfil f\(:or att generera symbolfilen som integreras i sj\(:alva paketet. .IP \fB\-O\fR[\fIfilnamn\fR] 4 .IX Item "-O[filnamn]" Visa den genererade symbolfilen p\(oa standard ut eller spara som \fIfilnamn\fR om det anges, ist\(:allet f\(:or \fBdebian/tmp/DEBIAN/symbols\fR (eller \fIpaketbyggkatalog\fR\fB/DEBIAN/symbols\fR om \fB\-P\fR anv\(:andes). Om \fIfilnamn\fR 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. .IP \fB\-t\fR 4 .IX Item "-t" Skriv symbolfilen i mall\-l\(:age ist\(:allet f\(:or i formatet kompatibelt med \fBdeb\-symbols\fR\|(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 \fBdeb\-symbols\fR\|(5)\-fil skrivs (i enlighet med tagghanteringsreglerna) medan alla symboler alltid skrivs till symbolfilsmallen. .IP \fB\-c\fR\fI[0\-4]\fR 4 .IX Item "-c[0-4]" Definiera vilka kontroller som ska 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. .RS 4 .IP "Niv\(oa 0" 4 .IX Item "Niv\(oa 0" Misslyckas aldrig. .IP "Niv\(oa 1" 4 .IX Item "Niv\(oa 1" Misslyckas om n\(oagra symboler har f\(:orsvunnit. .IP "Niv\(oa 2" 4 .IX Item "Niv\(oa 2" Misslyckas om nya symboler har introducerats. .IP "Niv\(oa 3" 4 .IX Item "Niv\(oa 3" Misslyckas om n\(oagra bibliotek har f\(:orsvunnit. .IP "Niv\(oa 4" 4 .IX Item "Niv\(oa 4" Misslyckas om n\(oagra bibliotek har introducerats. .RE .RS 4 .Sp V\(:ardet kan \(:overstyras med milj\(:ovariabeln \fBDPKG_GENSYMBOLS_CHECK_LEVEL\fR. .RE .IP \fB\-q\fR 4 .IX Item "-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 \fB\-c\fR). .IP \fB\-a\fR\fIarkitektur\fR 4 .IX Item "-aarkitektur" Anta \fIarkitektur\fR 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. .IP \fB\-d\fR 4 .IX Item "-d" Aktiverar fels\(:okningsl\(:age. Flera meddelanden visas f\(:or att f\(:orklara vad \fBdpkg-gensymbols\fR g\(:or. .IP \fB\-V\fR 4 .IX Item "-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. .IP "\fB\-?\fR, \fB\-\-help\fR" 4 .IX Item "-?, --help" Visar hj\(:alpsk\(:arm och avslutar. .IP \fB\-\-version\fR 4 .IX Item "--version" Visar version och avslutar. .SH MILJ\(:OVARIABLER .IX Header "MILJ\(:OVARIABLER" .IP \fBDPKG_GENSYMBOLS_CHECK_LEVEL\fR 4 .IX Item "DPKG_GENSYMBOLS_CHECK_LEVEL" \(:Overstyr kommandokontrollniv\(oan, \(:aven om kommandoradsflaggan \fB\-c\fR gavs (observera att detta g\(oar mot den normala konventionen att kommandoardsflaggor har f\(:oretr\(:ade \(:over milj\(:ovariabler). .IP \fBDPKG_COLORS\fR 4 .IX Item "DPKG_COLORS" V\(:aljer f\(:argl\(:age (sedan dpkg 1.18.5). F\(:or n\(:arvarande godtas f\(:oljande v\(:arden: \fBauto\fR (f\(:orval), \fBalways\fR och \fBnever\fR. .IP \fBDPKG_NLS\fR 4 .IX Item "DPKG_NLS" Om satt, anv\(:ands f\(:or att best\(:amma om lokalt spr\(oakst\(:od ska aktiveras, \(:aven k\(:ant som internationaliseringsst\(:od (eller i18n) (sedan dpkg 1.19.0). Till\(oatna v\(:arden \(:ar: \fB0\fR och \fB1\fR (f\(:orval). .SH "SE \(:AVEN" .IX Header "SE \(:AVEN" , , , \fBdeb\-src\-symbol\fR\|(5), \fBdeb\-symbols\fR\|(5), \fBdpkg\-shlibdeps\fR\|(1). .SH \(:OVERS\(:ATTNING .IX Header "\(:OVERS\(:ATTNING" Peter Krefting och Daniel Nylander.