dpkg (1.18.25) stretch; urgency=medium
[dpkg] / man / sv / dpkg-gensymbols.man
CommitLineData
1479465f
GJ
1.\" dpkg manual page - dpkg-gensymbols(1)
2.\"
3.\" Copyright © 2007-2011 Raphaël Hertzog <hertzog@debian.org>
4.\" Copyright © 2009-2010 Modestas Vainius <modestas@vainius.eu>
5.\" Copyright © 2012-2015 Guillem Jover <guillem@debian.org>
6.\"
7.\" This is free software; you can redistribute it and/or modify
8.\" it under the terms of the GNU General Public License as published by
9.\" the Free Software Foundation; either version 2 of the License, or
10.\" (at your option) any later version.
11.\"
12.\" This is distributed in the hope that it will be useful,
13.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
14.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15.\" GNU General Public License for more details.
16.\"
17.\" You should have received a copy of the GNU General Public License
18.\" along with this program. If not, see <https://www.gnu.org/licenses/>.
19.
20.\"*******************************************************************
21.\"
22.\" This file was generated with po4a. Translate the source file.
23.\"
24.\"*******************************************************************
25.TH dpkg\-gensymbols 1 %RELEASE_DATE% %VERSION% Dpkg\-sviten
26.nh
27.SH NAMN
28dpkg\-gensymbols \- generera symbolfiler (information om delade bibliotek)
29.
30.SH SYNOPS
31\fBdpkg\-gensymbols\fP [\fIflagga\fP...]
32.
33.SH BESKRIVNING
34\fBdpkg\-gensymbols\fP söker genom en temporärt byggträd (som standard
35debian/tmp) efter bibliotek och skapar en \fIsymbols\fP\-fil som beskriver
36dem. Denna fil kommer sedan, såvida den inte är tom, att installeras i
37DEBIAN\-underkatalogen i byggträdet så att den hamnar i styrinformationen i
38paketet.
39.P
40När dessa filer skapas, används ett par symbolfiler från paketansvariga som
41indata. Programmet söker efter följande filer (och använder den första det
42finner):
43.IP • 4
44debian/\fIpaket\fP.symbols.\fIarkitektur\fP
45.IP • 4
46debian/symbols.\fIarkitektur\fP
47.IP • 4
48debian/\fIpaket\fP.symbols
49.IP • 4
50debian/symbols
51.P
52Dessa filer är i huvudsak intressanta för att kunna tillhandahålla den
53minimala version associerad med varje symbol i biblioteken. Detta motsvarar
54normalt den första version av paketet som tillhandahöll symbolen, men det
55kan manuellt inkrementeras av de ansvariga om symbolens ABI utökas med
56bibehållen bakåtkompatibilitet. Det är den ansvarigas ansvar att hålla dessa
57filer àjourförda och korrekta, men \fBdpkg\-gensymbols\fP kan hjälpa till med
58detta.
59.P
60När den genererade symbolfilen skiljer sig mot den version som
61tillhandahållits av de paketansvariga kommer \fBdpkg\-gensymbols\fP att skriva
62ut en differens mellan de två versionerna. Om ändringarna är för stora
63kommer programmet dessutom att misslyckas (du kan justera hur stora
64ändringar du kan tolerera, se flaggan \fB\-c\fP).
65.SH "UNDERHÅLLA SYMBOLFILER"
66The symbols files are really useful only if they reflect the evolution of
67the package through several releases. Thus the maintainer has to update them
68every time that a new symbol is added so that its associated minimal version
69matches reality. The diffs contained in the build logs can be used as a
70starting point, but the maintainer, additionally, has to make sure that the
71behaviour of those symbols has not changed in a way that would make anything
72using those symbols and linking against the new version, stop working with
73the old version. In most cases, the diff applies directly to the
74debian/\fIpackage\fP.symbols file. That said, further tweaks are usually
75needed: it's recommended for example to drop the Debian revision from the
76minimal version so that backports with a lower version number but the same
77upstream version still satisfy the generated dependencies. If the Debian
78revision can't be dropped because the symbol really got added by the Debian
79specific change, then one should suffix the version with ‘\fB~\fP’.
80.P
81Innan man applicerar en patch på symbolfilen bör de ansvariga dubbelchecka
82att den är korrekt. Publicerade symboler bör inte försvinna, så patchen bör
83ideellt sett bara lägga till nya rader.
84.P
85Note that you can put comments in symbols files: any line with ‘#’ as the
86first character is a comment except if it starts with ‘#include’ (see
87section \fBUsing includes\fP). Lines starting with ‘#MISSING:’ are special
88comments documenting symbols that have disappeared.
89.P
90Glöm inte att kontrollera om de gamla symbolversionerna måste ökas. Det
91finns inget sätt för \fBdpkg\-gensymbols\fP att varna om detta. Att blint
92applicera diffen eller utgå från att inget har ändrats om diffen är tom,
93utan att se efter sådana ändringar, kan leda till att paket med lösa
94beroenden kan deklarera att de fungerar med äldre paket de inte kan fungera
95tillsammans med. Detta kommer introducera svårfunna problem vid (delvisa)
96uppgraderingar.{
97.SS "Använda #PACKAGE#\-substituering"
98.P
99I några sällsynta fall skiljer sig namnet på biblioteket mellan
100arkitekturer. För att undvika att hårdkoda namnet på paketet i symbolfilen
101kan du använda markören \fI#PACKAGE#\fP. Den ersätts av det faktiska
102paketnamnet när symbolfilen installeras. Till skillnad från
103\fI#MINVER#\fP\-markören kommer \fI#PACKAGE#\fP aldrig att dyka upp i en symbolfil
104i ett binärpaket.
105.SS "Använda symboltaggar"
106.P
107Symboltaggning är nyttigt för att markera symboler som är speciella på något
108sätt. Alla symboler kan ha ett godtyckligt antal taggar associerade med
109sig. Medan alla taggar tolkas och lagras är det bara ett par av dem som
110förstås av \fBdpkg\-gensymbols\fP och som utlöser specialhantering av
111symbolerna. Se undersymbolen \fBStandardsymboltaggar\fP för mer information om
112dessa taggar.
113.P
114Taggarna anges precis före symbolnamnet (inga blanksteg tillåts mellan). Den
115börjar alltid med en vänsterparentes \fB(\fP, slutar med en högerparentes \fB)\fP,
116och måste innehålla minst en tagg. Ytterligare taggar avdelas med tecknet
117\fB|\fP. En tagg kan ha ett värde, vilket separeras från taggnamnet med tecknet
118\fB=\fP. Taggnamn och värden kan vara godtyckliga strängar, förutom att de inte
119kan innehålla de speciella tecknen \fB)\fP \fB|\fP \fB=\fP. Symbolnamn som följer en
120taggangivelse kan, om så önskas, citeras med antingen \fB'\fP eller \fB"\fP för
121att tillåta blanksteg. Om inga taggar anges för symbolen tolkas dock
122citattecken som en del av symbolnamnet, vilket fortsätter till det första
123blanksteget.
124.P
125 (tag1=jag är markerad|taggnamn med blanksteg)"taggad citerad symbol"@Bas 1.0
126 (optional)taggad_ociterad_symbol@Bas 1.0 1
127 ociterad_symbol@Bas 1.0
128.P
129Den första symbolen i exemplet är heter \fItaggad citerad symbol\fP och har två
130taggar: \fItag1\fP med värdet \fIjag är markerad\fP och \fItaggnamn med blanksteg\fP
131som inte har något värde. Den andra symbolen heter \fItaggad_ociterad_symbol\fP
132och är bara taggad med taggen som heter \fIoptional\fP. Den sista symbolen är
133ett exempel på en normal, otaggad symbol.
134.P
135Eftersom symboltaggar er en utökning av formatet i \fIdeb\-symbols(5)\fP kan de
136bara användas i symbolfiler i källkodspaket (dessa filer är att anse som
137mallar som används för att bygga symbolfilerna som finns i
138binärpaketen). När \fBdpkg\-gensymbols\fP anropas utan flaggan \fB\-t\fP kommer det
139att mata ut symbolfiler kompatibla med \fBdeb\-symbols\fP(5)\-formatet: det
140hanterar symboler helt beroende på vad som beskrivs av standardtaggarna och
141tar bort alla taggar från utdata. I mall\-läge (\fB\-t\fP) kommer däremot alla
142symboler och deras taggar (både standard och okända) att behållas i utdata
143och skrivas i sin originalform så som de lästes in.
144.SS Standardsymboltaggar
145.TP
146\fBoptional\fP
147A symbol marked as optional can disappear from the library at any time and
148that will never cause \fBdpkg\-gensymbols\fP to fail. However, disappeared
149optional symbols will continuously appear as MISSING in the diff in each new
150package revision. This behaviour serves as a reminder for the maintainer
151that such a symbol needs to be removed from the symbol file or readded to
152the library. When the optional symbol, which was previously declared as
153MISSING, suddenly reappears in the next revision, it will be upgraded back
154to the “existing” status with its minimum version unchanged.
155
156Taggen är användbar för symboler som är privata och vars försvinnande inte
157gör att ABI:et går sönder. De flesta C++\-mallinstansieringar faller till
158exempel in under denna kategori. Som andra taggar kan den här även ha ett
159godtyckligt värde: det kan användas för att indikera varför symbolen är att
160anse som valfri.
161.TP
162\fBarch=\fP\fIarchitecture\-list\fP
163.TQ
164\fBarch\-bits=\fP\fIarchitecture\-bits\fP
165.TQ
166\fBarch\-endian=\fP\fIarchitecture\-endianness\fP
167These tags allow one to restrict the set of architectures where the symbol
168is supposed to exist. The \fBarch\-bits\fP and \fBarch\-endian\fP tags are supported
169since dpkg 1.18.0. When the symbols list is updated with the symbols
170discovered in the library, all arch\-specific symbols which do not concern
171the current host architecture are treated as if they did not exist. If an
172arch\-specific symbol matching the current host architecture does not exist
173in the library, normal procedures for missing symbols apply and it may cause
174\fBdpkg\-gensymbols\fP to fail. On the other hand, if the arch\-specific symbol
175is found when it was not supposed to exist (because the current host
176architecture is not listed in the tag or does not match the endianness and
177bits), it is made arch neutral (i.e. the arch, arch\-bits and arch\-endian
178tags are dropped and the symbol will appear in the diff due to this change),
179but it is not considered as new.
180
181I det vanliga icke\-mall\-läget skrivs endast de arkitekturspecifika symboler
182som motsvarar den aktuella värdarkitekturen till symbolfilen. Å andra sidan
183skrivs alla arkitekturspecifika symboler (inklusive de från andra
184arkitekturer) till symbolfilen i mall\-läget.
185
186The format of \fIarchitecture\-list\fP is the same as the one used in the
187\fBBuild\-Depends\fP field of \fIdebian/control\fP (except the enclosing square
188brackets []). For example, the first symbol from the list below will be
189considered only on alpha, any\-amd64 and ia64 architectures, the second only
190on linux architectures, while the third one anywhere except on armel.
191
192 (arch=alpha any\-amd64 ia64)64bit_specific_symbol@Base 1.0
193 (arch=linux\-any)linux_specific_symbol@Base 1.0
194 (arch=!armel)symbol_armel_does_not_have@Base 1.0
195
196The \fIarchitecture\-bits\fP is either \fB32\fP or \fB64\fP.
197
198 (arch\-bits=32)32bit_specific_symbol@Base 1.0
199 (arch\-bits=64)64bit_specific_symbol@Base 1.0
200
201The \fIarchitecture\-endianness\fP is either \fBlittle\fP or \fBbig\fP.
202
203 (arch\-endian=little)little_endian_specific_symbol@Base 1.0
204 (arch\-endian=big)big_endian_specific_symbol@Base 1.0
205
206Multiple restrictions can be chained.
207
208 (arch\-bits=32|arch\-endian=little)32bit_le_symbol@Base 1.0
209.TP
210\fBignore\-blacklist\fP
211dpkg\-gensymbols har en intern svartlista över symboler som inte skall
212förekomma i symbolfiler eftersom de oftast bara är sidoeffekter från
213implementationsdetaljer i verktygskedjan. Om du, av någon orsak, verkligen
214vill att en av dessa symboler skall tas med i symbolfilen måste du tagga
215symbolen med \fBignore\-blacklist\fP. Det kan vara nödvändigt för
216lågnivå\-verktygskedjebibliotek som libgcc.
217.TP
218\fBc++\fP
219Betecknar \fIc++\fP\-symbolmönster. Se stycket \fBAnvända symbolmönster\fP nedan.
220.TP
221\fBsymver\fP
222Anger \fIsymver\fP (symbolversion)\-symbolmönstret. Se stycket \fBAnvända
223symbolmönster\fP nedan.
224.TP
225\fBregex\fP
226Anger \fIregex\fP\-symbolmönstret. Se stycket \fIAnvända symbolmönster\fP nedan.
227.SS "Använda symbolmönster"
228.P
229Till skillnad från vanliga symbolspecifikationer kan ett mönster täcka flera
230faktiska symboler från biblioteket. \fBdpkg\-gensymbols\fP kommer försöka matcha
231varje mönster mot varje faktisk symbol som \fIinte\fP har en motsvarande
232specifik symbol definierad i symbolfilen. Så fort det första mönster som
233motsvarar symbolen hittas kommer alla dess taggar och egenskaper att
234användas som en basspecifikation för symbolen. Om inget mönster motsvarar
235symbolen kommer den att tolkas som ny.
236
237Ett mönster anses som tappat om det inte motsvarar några symboler i
238biblioteket. Som standard kommer detta få \fBdpkg\-genchanges\fP att misslyckas
239om \fB\-c1\fP eller högre anges. Om ett sådant misslyckande inte är önskvärt kan
240mönstret dock märkas med taggen \fIoptional\fP. Om mönstret då inte motsvarar
241någonting kommer det bara dyka upp i differensen som saknas
242(MISSING). Mönstret kan dessutom, precis som andra symboler, begränsas till
243specifika arkitekturer med hjälp av \fIarch\fP\-taggen. Se stycket
244\fBStandardsymboltaggar\fP ovan för mer information.
245
246Mönster är en utökning av \fBdeb\-symbols(5)\fP\-formatet och är därför endast
247tillåtna i symbolfilmallar. Syntax för angivelse av mönster skiljer sig inte
248från den för en specifik symbol. Symbolnamnsdelen av specifikationen
249fungerar dock som ett uttryck som skall jämföras mot \fInamn@version\fP för den
250faktiska symbolen. För att skilja mellan olika sorters mönster, taggas
251mönster normalt med en speciell tagg.
252
253För närvarande stöder \fBdpkg\-gensymbols\fP tre grundläggande mönstertyper:
254.TP 3
255\fBc++\fP
256Detta mönster anges med taggen \fIc++\fP. Den matchar enbart C++\-symboler med
257deras avmanglade symbolnamn (som det skrivs ut av
258\fBc++filt\fP(1)\-verktyget). Det här mönstret är väldigt nyttigt för att matcha
259symboler vars manglade namn kan skilja sig mellan olika arkitekturer, medan
260deras avmanglade namn är desamma. En grupp dylika symboler är
261\fIicke\-virtuella "thunks"\fP som har arkitekturspecifika offsetvärden inbyggda
262i sina manglade namn. En vanlig instans av detta fall är en virtuell
263destruktör som under diamantarv behöver en icke\-virtuell
264"thunk"\-symbol. Även om till exempel ZThn8_N3NSB6ClassDD1Ev@Base på
26532\-bitarsarkitekturer troligtvis är _ZThn16_N3NSB6ClassDD1Ev@Base
266på64\-bitarsarkitekturer, så kan de matchas med ett enda \fIc++\fP\-mönster:
267
268libdummy.so.1 libdummy1 #MINVER#
269 [...]
270 (c++)"non\-virtual thunk to NSB::ClassD::~ClassD()@Base" 1.0
271 [...]
272
273Det avmanglade namnet ovan kan hämtas genom att utföra följande kommando:
274
275 $ echo '_ZThn8_N3NSB6ClassDD1Ev@Base' | c++filt
276
277Observera att även om det manglade namnet per definition är unikt i
278biblioteket gäller inte detta för avmanglade namn. Flera distinkta verkliga
279symboler kan ha samma avmanglade namn. Det gäller till exempel för
280icke\-virtuella "thunk"\-symboler i konfigurationer med komplexa arv eller för
281de flesta konstruktörer och destruktörer (eftersom g++ normalt genererar två
282symboler för dem). Eftersom dessa kollisioner sker på ABI\-nivån bör de dock
283inte sänka kvaliteten på symbolfilen.
284.TP
285\fBsymver\fP
286Detta mönster anges med taggen \fIsymver\fP. Välunderhållna bibliotek har
287versionshanterade symboler där varje version motsvarar uppströmsversionen
288där symbolen lades till. Om det är fallet kan du använda ett
289\fIsymver\fP\-möster för att matcha alla symboler som matchar den specifika
290versionen. Till exempel:
291
292libc.so.6 libc6 #MINVER#
293 (symver)GLIBC_2.0 2.0
294 [...]
295 (symver)GLIBC_2.7 2.7
296 access@GLIBC_2.0 2.2
297
298Alla symboler associerade med versionerna GLIBC_2.0 och GLIBC_2.7 kommer
299leda till den minimal version 2.0 respektive 2.7, med undantag av symbolen
300access@GLIBC_2.0. Den sistnämnda kommer leda till ett minsta beroende på
301libc6 version 2.2 trots att den motsvarar mönstret
302"(symver)GLIBC_2.0"\-mönstret, eftersom specifika symboler gäller före
303mönster.
304
305Observera att även om den gamla sortens jokerteckenmönster (anges med
306"*@version" i symbolnamnfältet) fortfarande stöds så rekommenderas de inte
307längre i och med den nya sortens syntax "(symver|optional)version". Till
308exempel bör "*@GLIBC_2.0 2.0" skrivas som "(symver|optional)GLIBC_2.0 2.0"
309om samma beteende behövs.
310.TP
311\fBregex\fP
312Mönster med reguljära uttryck anges med taggen \fIregex\fP. De matchar med det
313reguljära uttrycket på perl\-form som anges i symbolnamnsfältet. Ett
314reguljärt uttryck matchar som det står, glöm därför inte att inleda det med
315tecknet \fI^\fP, annars kommer det matcha godtycklig del av den verkliga
316symbolens \fInamn@version\fP\-sträng. Till exempel:
317
318libdummy.so.1 libdummy1 #MINVER#
319 (regex)"^mystack_.*@Base$" 1.0
320 (regex|optional)"private" 1.0
321
322Symboler som "mystack_new@Base", "mystack_push@Base", "mystack_pop@Base"
323osv. kommer att träffas av det första mönstret medan t.ex
324"ng_mystack_new@Base" inte gör det. Det andra mönstret motsvarar alla
325symbolen som innehåller strängen "private" i sina namn och träffar kommer
326att ärva \fIoptional\fP\-taggen från mönstret.
327.P
328Grundläggande mönster som anges ovan kan kombineras där det är vettigt. I så
329fall behandlas de i den ordning taggarna anges. Till exempel kommer både
330
331 (c++|regex)"^NSA::ClassA::Private::privmethod\ed\e(int\e)@Base" 1.0
332 (regex|c++)N3NSA6ClassA7Private11privmethod\edEi@Base 1.0
333
334att träffa symbolerna "_ZN3NSA6ClassA7Private11privmethod1Ei@Base" och
335"_ZN3NSA6ClassA7Private11privmethod2Ei@Base". När det första mönstret
336jämförs avmanglas först symbolen som en C++\-symbol, varefter det avmanglade
337namnet jämförs med det reguljära uttrycket. När det andra mönstret jämförs,
338å andra sidan, jämförs det reguljära uttrycket mot det råa symbolnamnet,
339varefter symbolen testas för att se om det är av C++\-typ genom att försöka
340avmangla det. Om ett grundläggande mönster misslyckas kommer hela uttrycket
341att misslyckas. Därför kommer, till exempel
342"__N3NSA6ClassA7Private11privmethod\edEi@Base" inte att träffas av något av
343mönstrena eftersom det inte är en giltig C++\-symbol.
344
345I allmänhet delas alla mönster in i två grupper. alias (grundläggande \fIc++\fP
346och \fIsymver\fP) och generella mönster (\fIregex\fP, samtliga kombinationer av
347multipla grundläggande mönster). Det går snabbt att träffa grundläggande
348aliasbaserade mönster (O(1)) medan generella mönster är O(N) (N \- antal
349generella mönster) för varje symbol. Det rekommenderas därför inte att
350använda för många generella mönster.
351
352När flera mönster träffar samma verkliga symbol föredras alias (först
353\fIc++\fP, sedan \fIsymver\fP) framför generella mönster. Generella mönster
354träffas i den ordning de upptäcktes i symbolfilmallen fram till den första
355lyckade träffen. Observera dock att manuell omsortering av poster i
356mallfilen inte rekommenderas då \fBdpkg\-gensymbols\fP genererar differensfiler
357baserad på den alfanumeriska sorteringsordningen av dess namn.
358.SS "Använda inkluderingar"
359.P
360När uppsättningen av exporterade symboler skiljer sig mellan arkitekturer
361kan det vara ineffektivt att använda en enda symbolfil. I dessa fall kan ett
362inkluderingsdirektiv vara nyttigt på flera sätt:
363.IP • 4
364Du kan faktorisera de gemensamma delarna i en extern fil och inkludera den
365filen i din \fIpaket\fP.symbols.\fIarkitektur\fP\-fil genom att använda ett
366inkluderingsdirektiv som detta:
367
368#include "\fIpaket\fP.symbols.common"
369.IP •
370Inkluderingsdirektivet kan även taggas som alla andra symboler:
371
372(tag|...|tagN)#include "fil\-att\-inkludera"
373
374Alla symboler som inkluderas från \fIfil\-att\-inkludera\fP kommer att anses som
375standard vara taggade med \fItag\fP ... \fItagN\fP. Du kan använda denna funktion
376för att skapa en gemensam \fIpaket\fP.symbols\-fil som inkluderar
377arkitekturspecifika filer:
378
379 gemensam_symbol1@Base 1.0
380 (arch=amd64 ia64 alpha)#include "paket.symbols.64bit"
381 (arch=!amd64 !ia64 !alpha)#include "paket.symbols.32bit"
382 gemensam_symbol2@Base 1.0
383.P
384Symbolfilerna läses radvis, och inkluderingsdirektiv utförs så fort de
385upptäcks. Det betyder att innehållet i den inkluderade filen kan överstyra
386allt innehåll som förekom före inkluderingsdirektivet och att innehåll efter
387direktivet kan överstyra allt från den inkluderade filen. Alla symboler
388(även andra #include\-direktiv) i den inkluderade filen kan ange ytterligare
389taggar eller överstyra värden för de ärvda taggarna i sin
390taggspecifikation. Det finns dock inte något sätt för en symbol att ta bort
391någon av sina ärvda taggar.
392.P
393En inkluderad fil kan repetera huvudraden som innehåller SONAMNet för
394biblioteket. I så fall överstyr den en eventuell huvudrad som lästs in
395tidigare. Det är vanligtvis dock bäst att undvika att duplicera
396huvudrader. Ett sätt att göra det är som följer:
397.PP
398#include "libnågonting1.symbols.common"
399 arkitekturspecifik_symbol@Base 1.0
400.SS "God hantering av bibliotek"
401.P
402Ett välunderhållet bibliotek har följande funktioner:
403.IP • 4
404dess API är stabilt (publika symboler tas aldrig bort, endast nya publika
405symboler läggs till) och inkompatibla ändringar görs endast när SONAMNet
406ändras;
407.IP • 4
408ideellt använder det en versionhanterade symboler för att upprätthålla
409ABI\-stabilitet trots interna ändringar och API\-utökningar;
410.IP • 4
411det exporterar inte privata symboler (sådana symboler kan taggas med
412"optional" för att gå runt detta).
413.P
414När man underhåller symbolfilen är det lätt att upptäcka symboler som dyker
415upp och försvinner. Det är svårare att upptäcka inkompatibla API\- och
416ABI\-ändringar. Den paketansvarige bör därför noggrant läsa igenom
417uppströmsändringsloggen för fall då reglerna för god hantering av bibliotek
418bryts. Om ett möjligt fel upptäcks bör uppströmsförfattaren meddelas, då det
419alltid är bättre att problemet rättas uppströms än specifikt i Debian.
420.SH FLAGGOR
421.TP
422\fB\-P\fP\fIpaketbyggkatalog\fP
423Sök \fIpaketbyggkatalog\fP istället för debian/tmp.
424.TP
425\fB\-p\fP\fIpaket\fP
426Definiera paketnamnet. Krävs om mer än ett binärpaket listas i
427debian/control (eller om det inte finns någon debian/control\-fil).
428.TP
429\fB\-v\fP\fIversion\fP
430Definiera paketversion. Standardvärdet är versionen som hämtas från
431debian/changelog. Krävs om programmet anropas utanför ett källkodspaketträd.
432.TP
433\fB\-e\fP\fIbiblioteksfil\fP
434Analyserar endast bibliotek som listats explicit istället för att hitta alla
435publika bibliotek. Du kan använda ett jokertecken för filnamn (se
436manualsidan \fBFile::Glob\fP(3perl) för detaljer) i \fIbiblioteksfil\fP för att
437träffa multipla bibliotek med ett enda argument (annars behöver du flera
438\fB\-e\fP).
439.TP
440\fB\-I\fP\fIfilnamn\fP
441Använd \fIfilnamn\fP som referensfil för att generera symbolfilen som
442integreras i själva paketet.
443.TP
444\fB\-O\fP[\fIfilnamn\fP]
445Visa den genererade symbolfilen på standard ut eller spara som \fIfilnamn\fP om
446det anges, istället för \fBdebian/tmp/DEBIAN/symbols\fP (eller
447\fIpaketbyggkatalog\fP\fB/DEBIAN/symbols\fP om \fB\-P\fP användes). Om \fIfilnamn\fP
448redan existerar kommer dess innehåll att användas som bas för den genererade
449symbolfilen. Du kan använda den här funktionen för att uppdatera en
450symbolfil så att den motsvarar en nyare uppströmsversion av ditt bibliotek.
451.TP
452\fB\-t\fP
453Skriv symbolfilen i mall\-läge istället för i formatet kompatibelt med
454\fBdeb\-symbols\fP(5). Huvudskillnaden är att symbolnamn och taggar skrivs i sin
455originalform i mall\-läget, till skillnad från de efterbehandlade
456symbolnamnen med borttagna taggar som skrivs i det kompatibla
457läget. Dessutom kan vissa symboler uteslutas när en vanlig
458\fBdeb\-symbols\fP(5)\-fil skrivs (i enlighet med tagghanteringsreglerna) medan
459alla symboler alltid skrivs till symbolfilsmallen.
460.TP
461\fB\-c\fP\fI[0\-4]\fP
462Definiera vilka kontroller som skall utföras när den genererade symbolfilen
463jämförs med den mallfil som används som startpunkt. Som standard är nivån
4641. Genom att öka nivån utförs flera kontroller, inklusive alla kontroller på
465lägre nivå. Nivå 2 misslyckas om nya symboler har introducerats. Nivå 3
466misslyckas om några bibliotek har försvunnit. Nivå 4 misslyckas om några
467bibliotek har introducerats.
468
469Värdet kan överstyras med miljövariabeln \fBDPKG_GENSYMBOLS_CHECK_LEVEL\fP.
470.TP
471\fB\-q\fP
472Håll tyst och generera aldrig en differens mellan den genererade symbolfilen
473och mallfilen som användes som startpunkt eller visa varningar om
474nya/förlorade bibliotek eller nya/förlorade symboler. Den här flaggan tar
475endast bort informationsutdata, inte själva kontrolleran (se flaggan \fB\-c\fP).
476.TP
477\fB\-a\fP\fIarkitektur\fP
478Anta \fIarkitektur\fP som värdarkitektur vid hantering av symbolfiler. Använd
479den här flaggan för att generera en symbolfil eller differens för valfri
480arkitektur så länge dess binärer är tillgängliga.
481.TP
482\fB\-d\fP
483Aktiverar felsökningsläge. Flera meddelanden visas för att förklara vad
484\fBdpkg\-gensymbols\fP gör.
485.TP
486\fB\-V\fP
487Aktivera pratsamt läge. Den genererade symbolfilen innehåller ej längre
488rekommenderade symboler som kommentarer. I mall\-läge följs dessutom
489mönstersymboler av kommentarer som visar vilka verkliga symboler som har
490träffats av mönstret.
491.TP
492\fB\-?\fP, \fB\-\-help\fP
493Visar hjälpskärm och avslutar.
494.TP
495\fB\-\-version\fP
496Visar version och avslutar.
497.
498.SH MILJÖVARIABLER
499.TP
500\fBDPKG_GENSYMBOLS_CHECK_LEVEL\fP
501Overrides the command check level, even if the \fB\-c\fP command\-line argument
502was given (note that this goes against the common convention of command\-line
503arguments having precedence over environment variables).
504.SH "SE ÄVEN"
505\fBhttps://people.redhat.com/drepper/symbol\-versioning\fP
506.br
507\fBhttps://people.redhat.com/drepper/goodpractice.pdf\fP
508.br
509\fBhttps://people.redhat.com/drepper/dsohowto.pdf\fP
510.br
511\fBdeb\-symbols\fP(5), \fBdpkg\-shlibdeps\fP(1).
512.SH ÖVERSÄTTNING
513Peter Krefting och Daniel Nylander.