.\" -*- 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-01-19 1.22.3 "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 NOME .IX Header "NOME" deb-src-symbols \- ficheiro modelo de biblioteca partilhada extensiva de Debian .SH RESUMO .IX Header "RESUMO" \&\fBdebian/\fR\fIpackage\fR\fB.symbols.\fR\fIarch\fR, \fBdebian/symbols.\fR\fIarch\fR, \fBdebian/\fR\fIpackage\fR\fB.symbols\fR, \fBdebian/symbols\fR .SH DESCRI\(,C\(~AO .IX Header "DESCRI\(,C\(~AO" Os modelos de ficheiros symbol s\(~ao enviados em pacotes fonte Debian, e o seu formato \('e um superconjunto dos ficheiros symbols enviados em pacotes bin\('arios, veja \fBdeb\-symbols\fR\|(5). .SS Coment\('arios .IX Subsection "Coment\('arios" Comments are supported in template symbol files. Any line with \(oq#\(cq as the first character is a comment except if it starts with \(oq#include\(cq (see section "Using includes"). Lines starting with \(oq#MISSING:\(cq are special comments documenting symbols that have disappeared. .SS "Usando substitui\(,c\(~ao de #PACKAGE#" .IX Subsection "Usando substitui\(,c\(~ao de #PACKAGE#" Em alguns casos raros, o nome da biblioteca varia entre arquitecturas. Para evitar dificultar o nome do pacote no ficheiro de s\('imbolos, voc\(^e pode usar o marcador \fI#PACKAGE#\fR. Ser\('a substitu\('ido pelo nome real do pacote durante a instala\(,c\(~ao dos ficheiros de s\('imbolos. Contrariamente ao marcador \fI#MINVER#\fR, \fI#PACKAGE#\fR nunca ir\('a aparecer num ficheiro de s\('imbolos dentro de um pacote bin\('ario. .SS "Usar etiquetas s\('imbolo" .IX Subsection "Usar etiquetas s\('imbolo" Symbol tagging is useful for marking symbols that are special in some way. Any symbol can have an arbitrary number of tags associated with it. While all tags are parsed and stored, only some of them are understood by \fBdpkg-gensymbols\fR and trigger special handling of the symbols. See subsection "Standard symbol tags" for reference of these tags. .PP A especifica\(,c\(~ao de etiqueta vem logo antes do nome do s\('imbolo (n\(~ao \('e permitido nenhum espa\(,co em branco entre eles). Come\(,ca sempre com um abre\-par\(^entesis \fB(\fR, termina com um fecha\-par\(^entesis \fB)\fR e tem de conter pelo menos uma etiqueta. M\('ultiplas etiquetas s\(~ao separadas pelo caractere \fB|\fR. Cada etiqueta pode opcionalmente ter um valor que \('e separado do nome da etiqueta com um caractere \fB=\fR. Os nomes de etiquetas e valores podem ser strings arbitr\('arias excepto que n\(~ao podem conter nenhum dos caracteres especiais \fB)\fR \fB|\fR \fB=\fR. Nomes de s\('imbolos que seguem a especifica\(,c\(~ao das etiquetas podem opcionalmente ser citados com os caracteres \fB'\fR ou \fB"\fR para permitir espa\(,cos em brando neles. No entanto, se n\(~ao existirem etiquetas especificadas para o s\('imbolo, as cita\(,c\(~oes s\(~ao tratadas como parte do nome do s\('imbolo o qual continua at\('e ao primeiro espa\(,co. .PP .Vb 3 \& (tag1=i am marked|tag name with space)"tagged quoted symbol"@Base 1.0 \& (optional)tagged_unquoted_symbol@Base 1.0 1 \& untagged_symbol@Base 1.0 .Ve .PP O primeiro s\('imbolo no exemplo \('e chamado \fItagged quoted symbol\fR e tem duas etiquetas: \fItag1\fR com valor \fIi am marked\fR e \fItag name with space\fR que n\(~ao tem nenhum valor. O segundo s\('imbolo chamado \fItagged_unquoted_symbol\fR \('e apenas etiquetado com a etiqueta chamada \fIoptional\fR. O \('ultimo s\('imbolo \('e um exemplo do s\('imbolo normal n\(~ao etiquetado. .PP Since symbol tags are an extension of the \fBdeb\-symbols\fR\|(5) format, they can only be part of the symbols files used in source packages (those files should then be seen as templates used to build the symbols files that are embedded in binary packages). When \fBdpkg-gensymbols\fR is called without the \fB\-t\fR option, it will output symbols files compatible to the \fBdeb\-symbols\fR\|(5) format: it fully processes symbols according to the requirements of their standard tags and strips all tags from the output. On the contrary, in template mode (\fB\-t\fR) all symbols and their tags (both standard and unknown ones) are kept in the output and are written in their original form as they were loaded. .SS "Etiquetas s\('imbolo standard" .IX Subsection "Etiquetas s\('imbolo standard" .IP \fBoptional\fR 4 .IX Item "optional" Um s\('imbolo marcado como opcional pode desaparecer da biblioteca a qualquer altura e isso nunca far\('a o \fBdpkg-gensymbols\fR falhar. No entanto, s\('imbolos opcionais desaparecidos ir\(~ao continuamente aparecer como MISSING no diff em cada nova revis\(~ao do pacote. Este comportamento serve como lembrete para o maintainer que tal s\('imbolo precisa de ser removido do ficheiro de s\('imbolos ou re-adicionado \(`a biblioteca. Quando o s\('imbolo opcional, que foi anteriormente declarado como MISSING, subitamente reaparece na pr\('oxima revis\(~ao, ser\('a actualizado de volta para o estado de "existente" com a sua vers\(~ao m\('inima inalterada. .Sp Esta etiqueta \('e \('util para s\('imbolos que s\(~ao privados e para o seu desaparecimento n\(~ao causar a rutura da ABI. Por exemplo, a maioria das instala\(,c\(~oes de modelos C++ caiem nesta categoria. Como qualquer outra etiqueta, esta tamb\('em pode ter uma valor arbitr\('ario: isso podia ser usado para indicar porqu\(^e o s\('imbolo \('e considerado opcional. .IP \fBarch=\fR\fIarchitecture-list\fR 4 .IX Item "arch=architecture-list" .PD 0 .IP \fBarch\-bits=\fR\fIarchitecture-bits\fR 4 .IX Item "arch-bits=architecture-bits" .IP \fBarch\-endian=\fR\fIarchitecture-endianness\fR 4 .IX Item "arch-endian=architecture-endianness" .PD Estas bandeiras permitem-nos restringir o conjunto de arquitecturas onde o s\('imbolo \('e suposto existir. As bandeiras \fBarch-bits\fR e \fBarch-endian\fR s\(~ao suportadas desde dpkg 1.18.0. Quando a lista de s\('imbolos \('e actualizada com os s\('imbolos descobertos na biblioteca, todos os s\('imbolos espec\('ificos de arquitectura que n\(~ao dizem respeito \(`a arquitectura da m\('aquina actual s\(~ao tratados como se n\(~ao existissem. Se um s\('imbolo espec\('ifico\-de\-arquitectura que corresponda \(`a arquitectura da m\('aquina anfitri\(~a atual n\(~ao existir na biblioteca, aplica-se os procedimentos normais para s\('imbolos em falta e isso pode causar que \fBdpkg-gensymbols\fR falhe. Por outro lado, se o s\('imbolo espec\('ifico\-de arquitectura for encontrado onde n\(~ao era suporto existir (porque a arquitectura da m\('aquina actual n\(~ao est\('a listada na etiqueta ou porque n\(~ao corresponde ao endianness e bits), \('e tornado neutro em arquitectura (isto \('e, as etiquetas arch, arch-bits e arch-endian s\(~ao largadas e o s\('imbolo ir\('a aparecer no diff devido a esta altera\(,c\(~ao), mas n\(~ao \('e considerado como novo. .Sp Quando opera no modo predefinido n\(~ao\-modelo, entre os s\('imbolos espec\('ificos de arquitectura, apenas aqueles que correspondem \(`a arquitectura da m\('aquina anfitri\(~a actual s\(~ao escritos no ficheiro de s\('imbolos. Pelo contr\('ario, quando se opera em modo de modelo, todos os s\('imbolos espec\('ificos\-de\-arquitectura (incluindo aqueles de arquitecturas alien\('igenas) s\(~ao sempre escritos no ficheiro de s\('imbolos. .Sp O formato de \fIarchitecture-list\fR \('e o mesmo que o usado no campo \fBBuild-Depends\fR de \fIdebian/control\fR (excepto nos par\(^entesis rectos []). Por exemplo, o primeiro s\('imbolo da lista em baixo ser\('a considerado apenas nas arquitecturas alpha, any\-amd64 e ia64, o segundo apenas em arquitecturas de linux, enquanto o terceiro em todas excepto em armel. .Sp .Vb 3 \& (arch=alpha any\-amd64 ia64)64bit_specific_symbol@Base 1.0 \& (arch=linux\-any)linux_specific_symbol@Base 1.0 \& (arch=!armel)symbol_armel_does_not_have@Base 1.0 .Ve .Sp O \fIarchitecture-bits\fR ou \('e \fB32\fR ou \('e \fB64\fR. .Sp .Vb 2 \& (arch\-bits=32)32bit_specific_symbol@Base 1.0 \& (arch\-bits=64)64bit_specific_symbol@Base 1.0 .Ve .Sp A \fIarquitectura-classe-endian\fR \('e ou \fBlittle\fR ou \fBbig\fR. .Sp .Vb 2 \& (arch\-endian=little)little_endian_specific_symbol@Base 1.0 \& (arch\-endian=big)big_endian_specific_symbol@Base 1.0 .Ve .Sp M\('ultiplas restri\(,c\(~oes podem ser ligadas em corrente. .Sp .Vb 1 \& (arch\-bits=32|arch\-endian=little)32bit_le_symbol@Base 1.0 .Ve .IP \fBallow-internal\fR 4 .IX Item "allow-internal" O dpkg-gensymbols tem uma lista interna de s\('imbolos que n\(~ao devem aparecer em ficheiros de s\('imbolos pois eles s\(~ao geralmente apenas efeitos secund\('arios de detalhes de implementa\(,c\(~ao da ferramenta-cadeia (desde dpkg 1.20.1). Se por alguma raz\(~ao, voc\(^e querer realmente que um desses s\('imbolos seja inclu\('ido no ficheiro de s\('imbolos, voc\(^e deve etiquetar o s\('imbolo com \fBallow-internal\fR. Pode ser necess\('ario para algumas ferramentas-cadeia de baixo n\('ivel como \(lqlibgcc\(rq. .IP \fBignore-blacklist\fR 4 .IX Item "ignore-blacklist" Um alias descontinuado para \fBallow-internal\fR (desde dpkg 1.20.1, suportado desde dpkg 1.15.3). .IP \fBc++\fR 4 .IX Item "c++" Denotes \fIc++\fR symbol pattern. See "Using symbol patterns" subsection below. .IP \fBsymver\fR 4 .IX Item "symver" Denotes \fIsymver\fR (symbol version) symbol pattern. See "Using symbol patterns" subsection below. .IP \fBregex\fR 4 .IX Item "regex" Denotes \fIregex\fR symbol pattern. See "Using symbol patterns" subsection below. .SS "Usar padr\(~oes de s\('imbolos" .IX Subsection "Usar padr\(~oes de s\('imbolos" Ao contr\('ario de uma especifica\(,c\(~ao de s\('imbolo standard, um padr\(~ao pode cobrir v\('arios s\('imbolos reais da biblioteca. \fBdpkg-gensymbols\fR ir\('a tentar corresponder cada padr\(~ao com cada s\('imbolo real que \fIn\(~ao\fR tem uma contrapartida de s\('imbolo espec\('ifica definida no ficheiro de s\('imbolos. Sempre que o primeiro padr\(~ao de correspond\(^encia \('e encontrado, todas as suas etiquetas e propriedades ser\(~ao usadas como a especifica\(,c\(~ao base do s\('imbolo. Se nenhum dos padr\(~oes corresponder, o s\('imbolo ir\('a ser considerado como novo. .PP A pattern is considered lost if it does not match any symbol in the library. By default this will trigger a \fBdpkg-gensymbols\fR failure under \fB\-c1\fR or higher level. However, if the failure is undesired, the pattern may be marked with the \fIoptional\fR tag. Then if the pattern does not match anything, it will only appear in the diff as MISSING. Moreover, like any symbol, the pattern may be limited to the specific architectures with the \fIarch\fR tag. Please refer to "Standard symbol tags" subsection above for more information. .PP Patterns are an extension of the \fBdeb\-symbols\fR\|(5) format hence they are only valid in symbol file templates. Pattern specification syntax is not any different from the one of a specific symbol. However, symbol name part of the specification serves as an expression to be matched against \fIname@version\fR of the real symbol. In order to distinguish among different pattern types, a pattern will typically be tagged with a special tag. .PP At\('e ao momento, \fBdpkg-gensymbols\fR suporta tr\(^es tipos de padr\(~ao b\('asicos: .IP \fBc++\fR 4 .IX Item "c++" This pattern is denoted by the \fIc++\fR tag. It matches only C++ symbols by their demangled symbol name (as emitted by c++\fBfilt\fR\|(1) utility). This pattern is very handy for matching symbols which mangled names might vary across different architectures while their demangled names remain the same. One group of such symbols is \fInon-virtual thunks\fR which have architecture specific offsets embedded in their mangled names. A common instance of this case is a virtual destructor which under diamond inheritance needs a non-virtual thunk symbol. For example, even if _ZThn8_N3NSB6ClassDD1Ev@Base on 32\-bit architectures will probably be _ZThn16_N3NSB6ClassDD1Ev@Base on 64\-bit ones, it can be matched with a single \fIc++\fR pattern: .Sp .Vb 4 \& libdummy.so.1 libdummy1 #MINVER# \& [...] \& (c++)"non\-virtual thunk to NSB::ClassD::~ClassD()@Base" 1.0 \& [...] .Ve .Sp O nome desmembrado em cima pode ser obtido ao executar o seguinte comando: .Sp .Vb 1 \& $ echo \*(Aq_ZThn8_N3NSB6ClassDD1Ev@Base\*(Aq | c++filt .Ve .Sp Por favor note que enquanto o nome mutilado \('e \('unico na biblioteca por defini\(,c\(~ao, isto n\(~ao \('e necessariamente verdade para nomes n\(~ao\-mutilados. Um par de s\('imbolos reais distintos podem ter o mesmo nome mutilado. Por exemplo, esse \('e o caso com s\('imbolos thunk n\(~ao.virtuais em configura\(,c\(~oes de heran\(,ca complexa ou com a maioria dos construtores e destruidores (pois o g++ tipicamente gera dois s\('imbolos reais para eles). No entanto, como estas colis\(~oes acontecem no n\('ivel de ABI, n\(~ao devem degradar a qualidade do ficheiro de s\('imbolos. .IP \fBsymver\fR 4 .IX Item "symver" Este padr\(~ao \('e denotado pela etiqueta \fIsymver\fR. Bibliotecas bem mantidas t\(^em os s\('imbolos organizados pela vers\(~ao, onde cada vers\(~ao corresponde \(`a vers\(~ao do autor de onde o s\('imbolo foi obtido. Se for esse o caso, voc\(^e pode usar um padr\(~ao \fIsymver\fR para corresponder a qualquer s\('imbolo associado \(`a vers\(~ao espec\('ifica. Por exemplo: .Sp .Vb 5 \& libc.so.6 libc6 #MINVER# \& (symver)GLIBC_2.0 2.0 \& [...] \& (symver)GLIBC_2.7 2.7 \& access@GLIBC_2.0 2.2 .Ve .Sp Todos os s\('imbolos associados com vers\(~oes GLIBC_2.0 e GLIBC_2.7 ir\(~ao para vers\(~oes m\('inimas de 2.0 e 2.7 respetivamente com a excep\(,c\(~ao do s\('imbolo access@GLIBC_2.0. O \('ultimo ir\('a tornar-se uma depend\(^encia m\('inima em libc6 vers\(~ao 2.2 apenas de estar no escopo do padr\(~ao "(symver)GLIBC_2.0" porque s\('imbolos espec\('ificos tomam preced\(^encia sobre padr\(~oes. .Sp Por favor note que apesar de os padr\(~oes de wildcard ao estilo antigo (denotados por "*@version" no campo do nome do s\('imbolo) ainda serem suportados, estes foram descontinuados pela nova sintaxe "(symver|optional)version". Por exemplo, "*@GLIBC_2.0 2.0" deve ser escrito como "(symver|optional)GLIBC_2.0 2.0" se for necess\('ario o mesmo comportamento. .IP \fBregex\fR 4 .IX Item "regex" Padr\(~oes de express\(~oes regulares s\(~ao denotadas pela etiqueta \fIregex\fR. Eles correspondem pelas express\(~oes regulares perl especificadas no campo do nome do s\('imbolo. Uma express\(~ao regular corresponde tal como est\('a, assim n\(~ao se esque\(,ca de a arrancar com o caractere \fI^\fR ou poder\('a corresponder a qualquer parte da string \fIname@version\fR do s\('imbolo real. Por exemplo: .Sp .Vb 3 \& libdummy.so.1 libdummy1 #MINVER# \& (regex)"^mystack_.*@Base$" 1.0 \& (regex|optional)"private" 1.0 .Ve .Sp S\('imbolos como "mystack_new@Base", "mystack_push@Base", "mystack_pop@Base" etc, ir\(~ao corresponder ao primeiro padr\(~ao, enquanto "ng_mystack_new@Base" n\(~ao o far\('a. O segundo padr\(~ao ir\('a corresponder a todos os s\('imbolos que tenham a string "private" nos seus nomes e as correspond\(^encias ir\(~ao herdar a etiqueta \fIoptional\fR a partir do padr\(~ao. .PP Os padr\(~oes b\('asicos listados em cima podem ser combinados onde isso fizer sentido, nesse caso, eles s\(~ao processados pela ordem em que as etiquetas est\(~ao especificadas. Por exemplo, ambos: .PP .Vb 2 \& (c++|regex)"^NSA::ClassA::Private::privmethod\ed\e(int\e)@Base" 1.0 \& (regex|c++)N3NSA6ClassA7Private11privmethod\edEi@Base 1.0 .Ve .PP ir\('a corresponder aos s\('imbolos "_ZN3NSA6ClassA7Private11privmethod1Ei@Base" e "_ZN3NSA6ClassA7Private11privmethod2Ei@Base". Quando coincide o primeiro padr\(~ao, o s\('imbolo cru \('e primeiro desmutilado como s\('imbolo C++, depois o nome desmutilado \('e coincidido com a express\(~ao regular. Por outro lado, quando coincide o segundo padr\(~ao, a express\(~ao regular \('e coincidida com o nome cru do s\('imbolo, depois os s\('imbolo \('e testado se \('e um C++ ao tentar desmutila-lo. Uma falha de qualquer padr\(~ao b\('asico ir\('a resultar na falha de todo o padr\(~ao. Por isso, por exemplo, "_\|_N3NSA6ClassA7Private11privmethod\edEi@Base" n\(~ao ir\('a corresponder a nenhum dos padr\(~oes porque n\(~ao \('e um s\('imbolo C++ v\('alido. .PP Em geral, todos os padr\(~oes s\(~ao divididos em dois grupos: aliases (basic \fIc++\fR e \fIsymver\fR) e padr\(~oes gen\('ericos (\fIregex\fR, todas as combina\(,c\(~oes de m\('ultiplos padr\(~oes b\('asicos). A correspond\(^encia de padr\(~oes b\('asicos baseados-em-alias \('e r\('apida (O(1)) enquanto que padr\(~oes gen\('ericos s\(~ao O(N) (N \- contagem de padr\(~ao gen\('erico) para cada s\('imbolo. Assim, \('e recomendado n\(~ao sobre-utilizar padr\(~oes gen\('ericos. .PP Quando m\('ultiplos padr\(~oes correspondem ao mesmo s\('imbolo real, os aliases (primeiro \fIc++\fR, depois \fIsymver\fR) s\(~ao preferidos sobre padr\(~oes gen\('ericos. Padr\(~oes gen\('ericos s\(~ao correspondidos pela ordem que s\(~ao encontrados no modelo de ficheiro de s\('imbolos at\('e ao primeiro sucesso. Por favor note, no entanto, esse reordenar manual das entradas no ficheiro modelo n\(~ao \('e recomendado porque \fBdpkg-gensymbols\fR gera diffs baseados na ordem alfanum\('erica dos seus nomes. .SS "Usando inclus\(~oes" .IX Subsection "Usando inclus\(~oes" Quando o conjunto de s\('imbolos exportados difere entre arquitecturas, pode tornar-se ineficiente usar um \('unico ficheiro de s\('imbolos. Nesses casos, uma directiva de inclus\(~ao pode provar ser \('util de v\('arias maneiras: .IP \(bu 4 Voc\(^e pode factorizar a parte comum em algum ficheiro externo e incluir esse ficheiro no seu ficheiro \fIpackage\fR.symbols.\fIarch\fR ao usar uma directiva de inclus\(~ao como esta: .Sp .Vb 1 \& #include "I.symbols.common" .Ve .IP \(bu 4 A directiva de inclus\(~ao pode tamb\('em ser etiquetada como qualquer s\('imbolo: .Sp .Vb 1 \& (tag|...|tagN)#include "file\-to\-include" .Ve .Sp Como resultado, todos os s\('imbolos inclu\('idos de \fIfile-to-include\fR ser\(~ao considerados para serem etiquetados com \fItag\fR ... \fItagN\fR por predefini\(,c\(~ao. Voc\(^e pode usar esta funcionalidade para criar um ficheiro \fIpackage\fR.symbols comum que inclui ficheiros de s\('imbolos espec\('ificos de arquitectura: .Sp .Vb 4 \& common_symbol1@Base 1.0 \& (arch=amd64 ia64 alpha)#include "package.symbols.64\-bit" \& (arch=!amd64 !ia64 !alpha)#include "package.symbols.32\-bit" \& common_symbol2@Base 1.0 .Ve .PP Os ficheiros de s\('imbolos s\(~ao lidos linha a linha, e as directivas de inclus\(~ao s\(~ao processadas assim que s\(~ao encontradas. Isto significa que o conte\('udo do ficheiro inclu\('ido pode sobrepor qualquer conte\('udo que apareceu antes da directiva de inclus\(~ao e que qualquer conte\('udo ap\('os a directiva pode sobrepor qualquer coisa contida no ficheiro inclu\('ido. Qualquer s\('imbolo (ou mesmo outra directiva #include) no ficheiro inclu\('ido pode especificar etiquetas adicionais ou sobrepor valores das etiquetas herdadas e a sua especifica\(,c\(~ao de etiqueta. Contudo, n\(~ao existe maneira do s\('imbolo remover qualquer das etiquetas herdadas. .PP Um ficheiro inclu\('ido pode repetir a linha de cabe\(,calho que cont\('em o SONAME da biblioteca. Nesse caso, sobrep\(~oe qualquer linha de cabe\(,calho lida anteriormente. No entanto, geralmente \('e melhor duplicar as linhas de cabe\(,calho. Um modo de fazer isto \('e o seguinte: .PP .Vb 2 \& #include "libsomething1.symbols.common" \& arch_specific_symbol@Base 1.0 .Ve .SH "VEJA TAMB\('EM" .IX Header "VEJA TAMB\('EM" \&\fBdeb\-symbols\fR\|(5), \fBdpkg\-shlibdeps\fR\|(1), \fBdpkg\-gensymbols\fR\|(1). .SH TRADU\(,C\(~AO .IX Header "TRADU\(,C\(~AO" Am\('erico Monteiro .PP Se encontrar algum erro na tradu\(,c\(~ao deste documento, por favor comunique para Am\('erico Monteiro .