.\" -*- 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 "deb-src-symbols 5" .TH deb-src-symbols 5 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" deb-src-symbols \- Debians ut\(:okade mallfil f\(:or delade bibliotek .SH SYNOPS .IX Header "SYNOPS" \&\fBdebian/\fR\fIpaket\fR\fB.symbols.\fR\fIark\fR, \fBdebian/symbols.\fR\fIark\fR, \fBdebian/\fR\fIpaket\fR\fB.symbols\fR, \fBdebian/symbols\fR .SH BESKRIVNING .IX Header "BESKRIVNING" Symbolfilmallar medf\(:oljer Debiank\(:allkodspaket och dess format \(:ar en \(:overm\(:angd av symbols-filen som s\(:ands med Debianbin\(:arpaket, se \fBdeb\-symbols\fR\|(5). .SS Kommentarer .IX Subsection "Kommentarer" Kommentarer st\(:ods i symbolmallfilerna. Alla rader med \(rq#\(rq som f\(:orsta tecken \(:ar kommentarer, s\(oavida inte det b\(:orjar med \(rq#include\(rq (se stycket "Anv\(:anda inkluderingar"). Rader som b\(:orjar med \(rq#MISSING:\(rq \(:ar speciella kommentarer som dokumenterar symboler som har f\(:orsvunnit. .SS "Anv\(:anda #PACKAGE#\-substituering" .IX Subsection "Anv\(:anda #PACKAGE#-substituering" I n\(oagra s\(:allsynta fall skiljer sig namnet p\(oa biblioteket mellan arkitekturer. F\(:or att undvika att h\(oardkoda namnet p\(oa paketet i symbolfilen kan du anv\(:anda mark\(:oren \fI#PACKAGE#\fR. Den ers\(:atts av det faktiska paketnamnet n\(:ar symbolfilen installeras. Till skillnad fr\(oan \fI#MINVER#\fR\-mark\(:oren kommer \fI#PACKAGE#\fR aldrig att dyka upp i en symbolfil i ett bin\(:arpaket. .SS "Anv\(:anda symboltaggar" .IX Subsection "Anv\(:anda symboltaggar" Symboltaggning \(:ar nyttigt f\(:or att markera symboler som \(:ar speciella p\(oa n\(oagot s\(:att. Alla symboler kan ha ett godtyckligt antal taggar associerade med sig. Medan alla taggar tolkas och lagras \(:ar det bara ett par av dem som f\(:orst\(oas av \fBdpkg-gensymbols\fR och som utl\(:oser specialhantering av symbolerna. Se undersymbolen "Standardsymboltaggar" f\(:or mer information om dessa taggar. .PP Taggarna anges precis f\(:ore symbolnamnet (inga blanksteg till\(oats mellan). Den b\(:orjar alltid med en v\(:ansterparentes \fB(\fR, slutar med en h\(:ogerparentes \fB)\fR, och m\(oaste inneh\(oalla minst en tagg. Ytterligare taggar avdelas med tecknet \fB|\fR. En tagg kan ha ett v\(:arde, vilket separeras fr\(oan taggnamnet med tecknet \fB=\fR. Taggnamn och v\(:arden kan vara godtyckliga str\(:angar, f\(:orutom att de inte kan inneh\(oalla de speciella tecknen \fB)\fR \fB|\fR \fB=\fR. Symbolnamn som f\(:oljer en taggangivelse kan, om s\(oa \(:onskas, citeras med antingen \fB'\fR eller \fB"\fR f\(:or att till\(oata blanksteg. Om inga taggar anges f\(:or symbolen tolkas dock citattecken som en del av symbolnamnet, vilket forts\(:atter till det f\(:orsta blanksteget. .PP .Vb 3 \& (tag1=jag \(:ar markerad|taggnamn med blanksteg)"taggad citerad symbol"@Base 1.0 \& (optional)taggad_ociterad_symbol@Base 1.0 1 \& otaggad_symbol@Base 1.0 .Ve .PP Den f\(:orsta symbolen i exemplet \(:ar heter \fItaggad citerad symbol\fR och har tv\(oa taggar: \fItag1\fR med v\(:ardet \fIjag \(:ar markerad\fR och \fItaggnamn med blanksteg\fR som inte har n\(oagot v\(:arde. Den andra symbolen heter \fItaggad_ociterad_symbol\fR och \(:ar bara taggad med taggen som heter \fIoptional\fR. Den sista symbolen \(:ar ett exempel p\(oa en normal, otaggad symbol. .PP Eftersom symboltaggar er en ut\(:okning av formatet i \fR\f(BIdeb\-symbols\fR\fI\|(5)\fR kan de bara anv\(:andas i symbolfiler i k\(:allkodspaket (dessa filer \(:ar att anse som mallar som anv\(:ands f\(:or att bygga symbolfilerna som finns i bin\(:arpaketen). N\(:ar \fBdpkg-gensymbols\fR anropas utan flaggan \fB\-t\fR kommer det att mata ut symbolfiler kompatibla med \fBdeb\-symbols\fR\|(5)\-formatet: det hanterar symboler helt beroende p\(oa vad som beskrivs av standardtaggarna och tar bort alla taggar fr\(oan utdata. I mall\-l\(:age (\fB\-t\fR) kommer d\(:aremot alla symboler och deras taggar (b\(oade standard och ok\(:anda) att beh\(oallas i utdata och skrivas i sin originalform s\(oa som de l\(:astes in. .SS Standardsymboltaggar .IX Subsection "Standardsymboltaggar" .IP \fBoptional\fR 4 .IX Item "optional" En symbol markerad som valfri (optional) kan f\(:orsvinna fr\(oan bibliotektet n\(:ar som helst och kommer aldrig g\(:ora s\(oa att \fBdpkg-gensymbols\fR misslyckas. F\(:orsvunna symboler kommer dock fortfarande visas som saknade (MISSING) i differensen f\(:or varje ny paketversion. Detta beteende fungerar som en p\(oaminnelse f\(:or de paketansvariga om att symbolen m\(oaste tas bort fr\(oan symbolfilen eller l\(:aggas tillbaka till biblioteket. N\(:ar en valfri symbol som tidigare markerats som saknad (MISSING) pl\(:otsligt dyker upp igen i en senare version kommer den att uppgraderas tillbaka till befintligstatus (\(rqexisting\(rq) med den minsta tillg\(:angliga versionen of\(:or\(:andrad. .Sp Taggen \(:ar anv\(:andbar f\(:or symboler som \(:ar privata och vars f\(:orsvinnande inte g\(:or att ABI:et g\(oar s\(:onder. De flesta C++\-mallinstansieringar faller till exempel in under denna kategori. Som andra taggar kan den h\(:ar \(:aven ha ett godtyckligt v\(:arde: det kan anv\(:andas f\(:or att indikera varf\(:or symbolen \(:ar att anse som valfri. .IP \fBarch=\fR\fIarkitekturlista\fR 4 .IX Item "arch=arkitekturlista" .PD 0 .IP \fBarch\-bits=\fR\fIarkitekturlista\fR 4 .IX Item "arch-bits=arkitekturlista" .IP \fBarch\-endian=\fR\fIarkitektur-byteordning\fR 4 .IX Item "arch-endian=arkitektur-byteordning" .PD Dessaa taggar g\(:or det m\(:ojligt att begr\(:ansa vilken upps\(:attning arkitekturer symbolen \(:ar t\(:ankt att finnas f\(:or. Taggarna \fBarch-bits\fR och \fBarch-endian\fR st\(:ods sedan dpkg 1.18.0. N\(:ar symbollistan uppdateras med symboler som uppt\(:acks i biblioteket behandlas alla arkitekturspecifika symboler som inte g\(:aller den aktuella v\(:ardarkitekturen som om de inte fanns. Om en arkitekturspecifik symbol som motsvarar den aktuella v\(:ardarkitekturen inte existerar i biblioteket g\(:aller de vanliga reglerna f\(:or saknade symboler, och kan f\(oa \fBdpkg-gensymbols\fR att misslyckas. \(oA andra sidan, om en arkitekturspecifik symbol hittas d\(:ar den inte var menad att finnas (d\(oa den aktuella v\(:ardarkitekturen inte \(:ar listad i taggen eller inte motsvarar byteordningen eller antal bitar), g\(:ors den arkitekturneutral (dvs. taggarna arch, arch-bits och arch-endgian tas bort och symbolen kommer finnas med i differensen p\(oa grund av denna \(:andring), men den anses inte som ny. .Sp I det vanliga icke\-mall\-l\(:aget skrivs endast de arkitekturspecifika symboler som motsvarar den aktuella v\(:ardarkitekturen till symbolfilen. \(oA andra sidan skrivs alla arkitekturspecifika symboler (inklusive de fr\(oan andra arkitekturer) till symbolfilen i mall\-l\(:aget. .Sp Formatet p\(oa \fIarkitekturlista\fR \(:ar detsamma som det som anv\(:ands i \fBBuild-Depends\fR\-f\(:altet i \fIdebian/control\fR (bortsett fr\(oan de omslutande hakparenteserna []). Den f\(:orsta symbolen fr\(oan listan nedan, till exempel, kommer endast att tas med p\(oa arkitekturerna alpha, valfri\-amd64, ia64, den andra bara p\(oa linux-arkitekturer medan den tredje tas med \(:overallt f\(:orutom p\(oa armel. .Sp .Vb 4 \& (arch=alpha any\-amd64 ia64)64bitarsspecifik_symbol@Base 1.0 \& (arch=linux\-any)linuxspecifik_symbol@Base 1.0 \& (arch=!armel)symbol_armel_inte_har@Base 1.0 \&I \(:ar antingen B<32> eller B<64>. \& \& (arch\-bits=32)32bitarsspecifik_symbol@Base 1.0 \& (arch\-bits=64)64bitarsspecifik_symbol@Base 1.0 .Ve .Sp \&\fIarchitecture-byteordning\fR \(:ar antingen \fBlittle\fR eller \fBbig\fR. .Sp .Vb 2 \& (arch\-endian=little)little_endianspecifik_symbol@Base 1.0 \& (arch\-endian=big)big_endianspecifik_symbol@Base 1.0 .Ve .Sp Flera begr\(:ansningar kan kedjas samman .Sp .Vb 1 \& (arch\-bits=32|arch\-endian=little)32bitars_le_symbol@Base 1.0 .Ve .IP \fBallow-internal\fR 4 .IX Item "allow-internal" dpkg-gensymbols har en intern svartlista \(:over symboler som inte ska f\(:orekomma i symbolfiler eftersom de oftast bara \(:ar sidoeffekter fr\(oan implementationsdetaljer i verktygskedjan (sedan dpkg 1.20.1). Om du, av n\(oagon orsak, verkligen vill att en av dessa symboler ska tas med i symbolfilen m\(oaste du tagga symbolen med \fBallow-internal\fR. Det kan vara n\(:odv\(:andigt f\(:or l\(oagniv\(oa\-verktygskedjebibliotek som \(rqlibgcc\(rq. .IP \fBignore-blacklist\fR 4 .IX Item "ignore-blacklist" Ett alias f\(:or \fBallow-internal\fR som avr\(oads fr\(oan (sedan dpkg 1.20.1, st\(:ods sedan dpkg 1.15.3). .IP \fBc++\fR 4 .IX Item "c++" Betecknar \fIc++\fR\-symbolm\(:onster. Se stycket "Anv\(:anda symbolm\(:onster" nedan. .IP \fBsymver\fR 4 .IX Item "symver" Anger \fIsymver\fR (symbolversion)\-symbolm\(:onstret. Se stycket "Anv\(:anda symbolm\(:onster" nedan. .IP \fBregex\fR 4 .IX Item "regex" Anger \fIregex\fR\-symbolm\(:onstret. Se stycket "Anv\(:anda symbolm\(:onster" nedan. .SS "Anv\(:anda symbolm\(:onster" .IX Subsection "Anv\(:anda symbolm\(:onster" Till skillnad fr\(oan vanliga symbolspecifikationer kan ett m\(:onster t\(:acka flera faktiska symboler fr\(oan biblioteket. \fBdpkg-gensymbols\fR kommer f\(:ors\(:oka matcha varje m\(:onster mot varje faktisk symbol som \fIinte\fR har en motsvarande specifik symbol definierad i symbolfilen. S\(oa fort det f\(:orsta m\(:onster som motsvarar symbolen hittas kommer alla dess taggar och egenskaper att anv\(:andas som en basspecifikation f\(:or symbolen. Om inget m\(:onster motsvarar symbolen kommer den att tolkas som ny. .PP Ett m\(:onster anses som tappat om det inte motsvarar n\(oagra symboler i biblioteket. Som standard kommer detta f\(oa \fBdpkg-genchanges\fR att misslyckas om \fB\-c1\fR eller h\(:ogre anges. Om ett s\(oadant misslyckande inte \(:ar \(:onskv\(:art kan m\(:onstret dock m\(:arkas med taggen \fIoptional\fR. Om m\(:onstret d\(oa inte motsvarar n\(oagonting kommer det bara dyka upp i differensen som saknas (MISSING). M\(:onstret kan dessutom, precis som andra symboler, begr\(:ansas till specifika arkitekturer med hj\(:alp av \fIarch\fR\-taggen. Se stycket "Standardsymboltaggar" ovan f\(:or mer information. .PP M\(:onster \(:ar en ut\(:okning av \fBdeb\-symbols\fR\|(5)\-formatet och \(:ar d\(:arf\(:or endast till\(oatna i symbolfilmallar. Syntax f\(:or angivelse av m\(:onster skiljer sig inte fr\(oan den f\(:or en specifik symbol. Symbolnamnsdelen av specifikationen fungerar dock som ett uttryck som ska j\(:amf\(:oras mot \fInamn@version\fR f\(:or den faktiska symbolen. F\(:or att skilja mellan olika sorters m\(:onster, taggas m\(:onster normalt med en speciell tagg. .PP F\(:or n\(:arvarande st\(:oder \fBdpkg-gensymbols\fR tre grundl\(:aggande m\(:onstertyper: .IP \fBc++\fR 4 .IX Item "c++" Detta m\(:onster anges med taggen \fIc++\fR. Den matchar enbart C++\-symboler med deras avmanglade symbolnamn (som det skrivs ut av c++\fBfilt\fR\|(1)\-verktyget). Det h\(:ar m\(:onstret \(:ar v\(:aldigt nyttigt f\(:or att matcha symboler vars manglade namn kan skilja sig mellan olika arkitekturer, medan deras avmanglade namn \(:ar desamma. En grupp dylika symboler \(:ar \fIicke-virtuella \(rqthunks\(rq\fR som har arkitekturspecifika offsetv\(:arden inbyggda i sina manglade namn. En vanlig instans av detta fall \(:ar en virtuell destrukt\(:or som under diamantarv beh\(:over en icke-virtuell \(rqthunk\(rq\-symbol. \(:Aven om till exempel ZThn8_N3NSB6ClassDD1Ev@Base p\(oa 32\-bitarsarkitekturer troligtvis \(:ar _ZThn16_N3NSB6ClassDD1Ev@Base p\(oa 64\-bitarsarkitekturer, s\(oa kan de matchas med ett enda \fIc++\fR\-m\(:onster: .Sp .Vb 5 \& libdummy.so.1 libdummy1 #MINVER# \& [...] \& (c++)"non\-virtual thunk to NSB::ClassD::~ClassD()@Base" 1.0 \& [...] \&Det avmanglade namnet ovan kan h\(:amtas genom att utf\(:ora f\(:oljande kommando: \& \& $ echo \*(Aq_ZThn8_N3NSB6ClassDD1Ev@Base\*(Aq | c++filt .Ve .Sp Observera att \(:aven om det manglade namnet per definition \(:ar unikt i biblioteket g\(:aller inte detta f\(:or avmanglade namn. Flera distinkta verkliga symboler kan ha samma avmanglade namn. Det g\(:aller till exempel f\(:or icke-virtuella \(rqthunk\(rq\-symboler i konfigurationer med komplexa arv eller f\(:or de flesta konstrukt\(:orer och destrukt\(:orer (eftersom g++ normalt genererar tv\(oa symboler f\(:or dem). Eftersom dessa kollisioner sker p\(oa ABI\-niv\(oan b\(:or de dock inte s\(:anka kvaliteten p\(oa symbolfilen. .IP \fBsymver\fR 4 .IX Item "symver" Detta m\(:onster anges med taggen \fIsymver\fR. V\(:alunderh\(oallna bibliotek har versionshanterade symboler d\(:ar varje version motsvarar uppstr\(:omsversionen d\(:ar symbolen lades till. Om det \(:ar fallet kan du anv\(:anda ett \fIsymver\fR\-m\(:oster f\(:or att matcha alla symboler som matchar den specifika versionen. Till exempel: .Sp .Vb 6 \& libc.so.6 libc6 #MINVER# \& (symver)GLIBC_2.0 2.0 \& [...] \& (symver)GLIBC_2.7 2.7 \& access@GLIBC_2.0 2.2 \&Alla symboler associerade med versionerna GLIBC_2.0 och GLIBC_2.7 kommer leda till den minimal version 2.0 respektive 2.7, med undantag av symbolen access@GLIBC_2.0. Den sistn\(:amnda kommer leda till ett minsta beroende p\(oa libc6 version 2.2 trots att den motsvarar m\(:onstret "(symver)GLIBC_2.0"\-m\(:onstret, eftersom specifika symboler g\(:aller f\(:ore m\(:onster. .Ve .Sp Observera att \(:aven om den gamla sortens jokerteckenm\(:onster (anges med "*@version" i symbolnamnf\(:altet) fortfarande st\(:ods s\(oa rekommenderas de inte l\(:angre i och med den nya sortens syntax "(symver|optional)version". Till exempel b\(:or "*@GLIBC_2.0 2.0" skrivas som "(symver|optional)GLIBC_2.0 2.0" om samma beteende beh\(:ovs. .IP \fBregex\fR 4 .IX Item "regex" M\(:onster med regulj\(:ara uttryck anges med taggen \fIregex\fR. De matchar med det regulj\(:ara uttrycket p\(oa perl-form som anges i symbolnamnsf\(:altet. Ett regulj\(:art uttryck matchar som det st\(oar, gl\(:om d\(:arf\(:or inte att inleda det med tecknet \fI^\fR, annars kommer det matcha godtycklig del av den verkliga symbolens \fInamn@version\fR\-str\(:ang. Till exempel: .Sp .Vb 4 \& libdummy.so.1 libdummy1 #MINVER# \& (regex)"^mystack_.*@Base$" 1.0 \& (regex|optional)"private" 1.0 \&Symboler som "mystack_new@Base", "mystack_push@Base", "mystack_pop@Base" osv. kommer att tr\(:affas av det f\(:orsta m\(:onstret medan "ng_mystack_new@Base" inte g\(:or det. Det andra m\(:onstret motsvarar alla symboler som inneh\(oaller str\(:angen "private" i sina namn och tr\(:affar kommer att \(:arva I\-taggen fr\(oan m\(:onstret. .Ve .PP Grundl\(:aggande m\(:onster som anges ovan kan kombineras d\(:ar det \(:ar vettigt. I s\(oa fall behandlas de i den ordning taggarna anges. Till exempel kommer b\(oade: .PP .Vb 3 \& (c++|regex)"^NSA::ClassA::Private::privmethod\ed\e(int\e)@Base" 1.0 \& (regex|c++)N3NSA6ClassA7Private11privmethod\edEi@Base 1.0 \&att tr\(:affa symbolerna "_ZN3NSA6ClassA7Private11privmethod1Ei@Base" och "_ZN3NSA6ClassA7Private11privmethod2Ei@Base". N\(:ar det f\(:orsta m\(:onstret j\(:amf\(:ors avmanglas f\(:orst symbolen som en C++\-symbol, varefter det avmanglade namnet j\(:amf\(:ors med det regulj\(:ara uttrycket. N\(:ar det andra m\(:onstret j\(:amf\(:ors, \(oa andra sidan, j\(:amf\(:ors det regulj\(:ara uttrycket mot det r\(oaa symbolnamnet, varefter symbolen testas f\(:or att se om det \(:ar av C++\-typ genom att f\(:ors\(:oka avmangla det. Om ett grundl\(:aggande m\(:onster misslyckas kommer hela uttrycket att misslyckas. D\(:arf\(:or kommer, till exempel "_\|_N3NSA6ClassA7Private11privmethod\edEi@Base" inte att tr\(:affas av n\(oagot av m\(:onstrena eftersom det inte \(:ar en giltig C++\-symbol. .Ve .PP I allm\(:anhet delas alla m\(:onster in i tv\(oa grupper. alias (grundl\(:aggande \fIc++\fR och \fIsymver\fR) och generella m\(:onster (\fIregex\fR, samtliga kombinationer av multipla grundl\(:aggande m\(:onster). Det g\(oar snabbt att tr\(:affa grundl\(:aggande aliasbaserade m\(:onster (O(1)) medan generella m\(:onster \(:ar O(N) (N \- antal generella m\(:onster) f\(:or varje symbol. Det rekommenderas d\(:arf\(:or inte att anv\(:anda f\(:or m\(oanga generella m\(:onster. .PP N\(:ar flera m\(:onster tr\(:affar samma verkliga symbol f\(:oredras alias (f\(:orst \fIc++\fR, sedan \fIsymver\fR) framf\(:or generella m\(:onster. Generella m\(:onster tr\(:affas i den ordning de uppt\(:acktes i symbolfilmallen fram till den f\(:orsta lyckade tr\(:affen. Observera dock att manuell omsortering av poster i mallfilen inte rekommenderas d\(oa \fBdpkg-gensymbols\fR genererar differensfiler baserad p\(oa den alfanumeriska sorteringsordningen av dess namn. .SS "Anv\(:anda inkluderingar" .IX Subsection "Anv\(:anda inkluderingar" N\(:ar upps\(:attningen av exporterade symboler skiljer sig mellan arkitekturer kan det vara ineffektivt att anv\(:anda en enda symbolfil. I dessa fall kan ett inkluderingsdirektiv vara nyttigt p\(oa flera s\(:att: .IP \(bu 4 Du kan faktorisera de gemensamma delarna i en extern fil och inkludera den filen i din \fIpaket\fR.symbols.\fIarkitektur\fR\-fil genom att anv\(:anda ett inkluderingsdirektiv som detta: .Sp .Vb 1 \& #include "I.symbols.common" .Ve .IP \(bu 4 Inkluderingsdirektivet kan \(:aven taggas som alla andra symboler: .Sp .Vb 1 \& (tagg|...|taggN)#include "fil\-att\-inkludera" .Ve .Sp Alla symboler som inkluderas fr\(oan \fIfil-att-inkludera\fR kommer att anses som standard vara taggade med \fItagg\fR ... \fItaggN\fR. Du kan anv\(:anda denna funktion f\(:or att skapa en gemensam \fIpaket\fR.symbols\-fil som inkluderar arkitekturspecifika filer: .Sp .Vb 4 \& gemensam_symbol1@Base 1.0 \& (arch=amd64 ia64 alpha)#include "package.symbols.64\-bit" \& (arch=!amd64 !ia64 !alpha)#include "package.symbols.32\-bit" \& gemensam_symbol2@Base 1.0 .Ve .PP Symbolfilerna l\(:ases radvis, och inkluderingsdirektiv utf\(:ors s\(oa fort de uppt\(:acks. Det betyder att inneh\(oallet i den inkluderade filen kan \(:overstyra allt inneh\(oall som f\(:orekom f\(:ore inkluderingsdirektivet och att inneh\(oall efter direktivet kan \(:overstyra allt fr\(oan den inkluderade filen. Alla symboler (\(:aven andra #include\-direktiv) i den inkluderade filen kan ange ytterligare taggar eller \(:overstyra v\(:arden f\(:or de \(:arvda taggarna i sin taggspecifikation. Det finns dock inte n\(oagot s\(:att f\(:or en symbol att ta bort n\(oagon av sina \(:arvda taggar. .PP En inkluderad fil kan repetera huvudraden som inneh\(oaller SONAME:t f\(:or biblioteket. I s\(oa fall \(:overstyr den en eventuell huvudrad som l\(:asts in tidigare. Det \(:ar vanligtvis dock b\(:ast att undvika att duplicera huvudrader. Ett s\(:att att g\(:ora det \(:ar som f\(:oljer: .PP .Vb 3 \& #include "libn\(oagonting1.symbols.common" \& arkitekturspecifik_symbol@Base 1.0 \&=head1 SE \(:AVEN .Ve .PP \&\fBdeb\-symbols\fR\|(5), \fBdpkg\-shlibdeps\fR\|(1), \fBdpkg\-gensymbols\fR\|(1). .SH \(:OVERS\(:ATTNING .IX Header "\(:OVERS\(:ATTNING" Peter Krefting och Daniel Nylander.