diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 09:40:31 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 09:40:31 +0000 |
commit | b86570f63e533abcbcb97c2572e0e5732a96307b (patch) | |
tree | cabc83be691530ae685c45a8bc7620ccc0e1ebdf /man/pt/dpkg-shlibdeps.pod | |
parent | Initial commit. (diff) | |
download | dpkg-upstream.tar.xz dpkg-upstream.zip |
Adding upstream version 1.20.13.upstream/1.20.13upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | man/pt/dpkg-shlibdeps.pod | 423 |
1 files changed, 423 insertions, 0 deletions
diff --git a/man/pt/dpkg-shlibdeps.pod b/man/pt/dpkg-shlibdeps.pod new file mode 100644 index 0000000..e5ea7b4 --- /dev/null +++ b/man/pt/dpkg-shlibdeps.pod @@ -0,0 +1,423 @@ + + ***************************************************** + * GENERATED FILE, DO NOT EDIT * + * THIS IS NO SOURCE FILE, BUT RESULT OF COMPILATION * + ***************************************************** + +This file was generated by po4a(7). Do not store it (in VCS, for example), +but store the PO file used as source file by po4a-translate. + +In fact, consider this as a binary, and the PO file as a regular .c file: +If the PO get lost, keeping this translation up-to-date will be harder. + +=encoding UTF-8 + +=head1 NOME + +dpkg-shlibdeps - gera dependências substvar de biblioteca partilhada + +=head1 SINOPSE + +B<dpkg-shlibdeps> [I<option>...] [B<-e>] I<executable> [I<option>...] + +=head1 DESCRIÇÃO + +B<dpkg-shlibdeps> calcula dependências de bibliotecas partilhadas para +executáveis nomeados nos seus argumentos. As dependências são adicionadas ao +ficheiro de variáveis de substituição B<debian/substvars> como nomes de +variáveis B<shlibs:>I<dependency-field> onde I<dependency-field> é um nome +de campo de dependência. Quaisquer outras variáveis começadas com B<shlibs:> +são removidas do ficheiro. + +B<dpkg-shlibdeps> tem duas possíveis fontes de informação para gerar a +informação de dependências. Seja ficheiros I<symbols> ou ficheiros +I<shlibs>. Para cada binário que o B<dpkg-shlibdeps> analise, ele encontra a +lista de binários com que tem links. Depois, para cada biblioteca, procura +pelo ficheiro I<symbols>, ou pelo ficheiro I<shlibs> (se o anterior não +existir ou se debian/shlibs.local conter a dependência relevante). Ambos +ficheiros são supostos serem fornecidos pelo pacote biblioteca e devem assim +estarem disponíveis como as %ADMINDIR%/info/I<package>.I<symbols> ou +%ADMINDIR%/info/I<package>.I<shlibs>. O nome do pacote é identificado em +dois passos: encontrar o ficheiro biblioteca no sistema (procurando nos +mesmos directórios que B<ld.so> iria usar), depois usar B<dpkg -S> +I<library-file> para procurar o pacote que fornece a biblioteca. + +=head2 Ficheiros de Símbolos + +Ficheiros Symbols contêm informação de dependências afinada ao fornecerem a +dependência mínima para cada símbolo que a biblioteca exporta. O script +tenta encontrar um ficheiro de símbolos associado a um pacote biblioteca nos +seguintes locais (é usada a primeira correspondência): + +=over + +=item debian/*/DEBIAN/symbols + +Informação de biblioteca partilhada gerada pelo actual processo de +compilação que também invocou B<dpkg-shlibdeps>. São gerados por +B<dpkg-gensymbols>(1). São apenas usados se a biblioteca for encontrada na +árvore de compilação do pacote. O ficheiro de símbolos nessa árvore de +compilação toma precedência sobre ficheiros de símbolos de outros pacotes +binários. + +=item %PKGCONFDIR%/symbols/I<package>.symbols.I<arch> + +=item %PKGCONFDIR%/symbols/I<package>.symbols + +Informação de sobreposição por-sistema de dependência de biblioteca +partilhada. I<arch> é a arquitectura do sistema actual (obtida por +B<dpkg-architecture -qDEB_HOST_ARCH>). + +=item Resultado de “B<dpkg-query --control-path> I<package> symbols” + +Informação de dependências de bibliotecas partilhadas fornecidas pelo +pacote. A menos que sobrepostas por B<--admindir>, esses ficheiros estão +localizados em %ADMINDIR%. + +=back + +Enquanto sonda os símbolos usados por todos os binários, o B<dpkg-shlibdeps> +lembra-se da versão mínima (mais alta) necessária para cada biblioteca. No +final do processo, é capaz de escrever a dependência mínima para cada +biblioteca usada (desde que a informação dos ficheiros I<symbols> esteja +exacta). + +Como medida de salva-guarda, um ficheiro de símbolos pode fornecer um campo +de meta-informação B<Build-Depends-Package> e B<dpkg-shlibdeps> irá extrair +a versão mínima requerida pelo pacote correspondente no campo +B<Build-Depends> e usa esta versão se for maior que a versão mínima +computada pela sondagem dos símbolos. + +=head2 Ficheiros shlibs + +Ficheiros Shlibs associam directamente uma biblioteca a uma dependência (sem +olhar para os símbolos). É assim geralmente mais forte do que realmente +necessário mas muito seguro e fácil de manusear. + +As dependências por uma biblioteca são procuradas em vários lugares. É usado +o primeiro ficheiro que providencia informação para a biblioteca que +interessa: + +=over + +=item debian/shlibs.local + +Informação de dependência de biblioteca partilhada que sobrepõe pacote local + +=item %PKGCONFDIR%/shlibs.override + +Informação de dependência de biblioteca partilhada de sobreposição por +sistema. + +=item debian/*/DEBIAN/shlibs + +Informação de biblioteca partilhada gerada pelo actual processo de +compilação que também invocou B<dpkg-shlibdeps>. São apenas usados se a +biblioteca for encontrada na árvore de compilação do pacote. O ficheiro +shlibs nessa árvore de compilação toma precedência sobre ficheiros shlibs de +outros pacotes binários. + +=item Resultado de “B<dpkg-query --control-path> I<package> shlibs” + +Informação de dependências de bibliotecas partilhadas fornecidas pelo +pacote. A menos que sobrepostas por B<--admindir>, esses ficheiros estão +localizados em %ADMINDIR%. + +=item %PKGCONFDIR%/shlibs.default + +Informação de dependência de biblioteca partilhada predefinida por sistema. + +=back + +as dependências extraídas são depois usadas directamente (excepto se forem +filtradas porque foram identificadas como duplicadas, ou como mas fracas que +outra dependência). + +=head1 OPÇÕES + +B<dpkg-shlibdeps> interpreta argumentos não-opção como nomes executáveis, +como se eles fosse fornecidos como B<-e>I<executable>. + +=over + +=item B<-e>I<executable> + +Inclui as dependências apropriadas para as bibliotecas partilhadas +requeridas pelo I<executável>. Esta opção pode ser usada várias vezes. + +=item B<-l>I<directory> + +Adiciona I<directory> ao inicio da lista de directórios a pesquisar por +bibliotecas partilhadas privadas (desde dpkg 1.17.0). Esta opção pode ser +usada várias vezes. + +B<Nota:> Use esta opção em vez de definir B<LD_LIBRARY_PATH>, pois essa +variável de ambiente é usado para controlar o vinculador de +tempo-de-execução e abusar dela para definir caminhos de bibliotecas +partilhadas durante a compilação pode ser problemático quando, por exemplo, +se faz compilações cruzadas. + +=item B<-d>I<dependency-field> + +Todas as dependências a serem adicionadas ao campo de dependências do +ficheiro de controle I<dependency-field>. (As dependências para este campo +são colocadas na variável B<shlibs:>I<dependency-field>.) + +A opção B<-d>I<dependency-field> produz efeito para todos os executáveis +após a opção, até ao próximo B<-d>I<dependency-field>. A predefinição de +I<dependency-field> é B<Depends>. + +Se a mesma entrada de dependência (ou conjunto de alternativas) aparecer em +mais do que um dos nomes de campos de dependência reconhecida +B<Pre-Depends>, B<Depends>, B<Recommends>, B<Enhances> ou B<Suggests> então +B<dpkg-shlibdeps> irá remover automaticamente a dependência de todos os +campos excepto daquele que representa as dependências mais importantes. + +=item B<-p>I<varname-prefix> + +Começa as variáveis de substituição com I<varname-prefix>B<:> em vez de +B<shlibs:>. Do mesmo modo, quaisquer variáveis de substituição existentes +que comecem com I<varname-prefix>B<:> (em vez de B<shlibs:>) são removidas +do ficheiros de variáveis de substituição. + +=item B<-O>[I<filename>] + +Escreve as definições de variáveis de substituição na saída standard (ou +I<filename> se especificado, desde dpkg 1.17.2), em vez de serem adicionadas +ao ficheiro de variáveis de substituição (B<debian/substvars> por +predefinição). + +=item B<-t>I<type> + +Informação etiquetada de dependência de biblioteca partilhada preferida para +o tipo de pacote dado. Se não existir informação etiquetada, cai para a +informação não etiquetada. O tipo de pacote predefinido é B<deb>. A +informação de dependência de biblioteca partilhada é etiquetada para um +determinado tipo ao prefixá-la com o nome to tipo, dois pontos, e espaço em +branco. + +=item B<-L>I<local-shlibs-file> + +Lê informação de sobreposição de dependência de biblioteca partilhada a +partir de I<local-shlibs-file> em vez de B<debian/shlibs.local>. + +=item B<-T>I<substvars-file> + +Escreve variáveis de substituição em I<substvars-file>; a predefinição é +B<debian/substvars>. + +=item B<-v> + +Activa o modo detalhado (desde dpkg 1.14.8). São mostradas numerosas +mensagens para explicar o que o B<dpkg-shlibdeps> faz. + +=item B<-x>I<package> + +Exclui o pacote das dependências geradas (desde dpkg 1.14.8). Isto é útil +para evitar auto-dependências para pacotes que fornecem binários ELF +(executáveis ou plugins biblioteca) usando uma biblioteca contida no mesmo +pacote. Esta opção pode ser usada várias vezes para excluir vários pacotes. + +=item B<-S>I<package-build-dir> + +Procura primeiro em I<package-build-dir> quando tenta encontrar uma +biblioteca (desde dpkg 1.14.15). Isto é útil quando o pacote fonte compila +vários sabores da mesma biblioteca e você quer assegurar que obtém a +dependência a partir de um determinado pacote binário. Você pode usar esta +opção várias vezes: directórios serão tentados na mesma ordem antes de +directórios de outros pacotes binários. + +=item B<-I>I<package-build-dir> + +Ignora I<package-build-dir> quando procurar por shlibs, symbols, e ficheiros +de biblioteca partilhada (desde dpkg 1.18.5). Você pode usar esta opção +várias vezes. + +=item B<--ignore-missing-info> + +Não falha se a informação de dependência não pode ser encontrada para uma +biblioteca partilhada (desde dpkg 1.14.8). A utilização desta opção é +desencorajada, todas as bibliotecas devem fornecer informação de +dependências (seja com ficheiros shlibs, ou com ficheiros symbols) mesmo se +ainda não forem usadas por outros pacotes. + +=item B<--warnings=>I<value> + +I<value> é um campo de bit que define o conjunto de avisos que podem ser +emitidos pelo B<dpkg-shlibdeps> (desde dpkg 1.14.17). Bit 0 (valor=1) +activa o aviso “symbol I<sym> usado por I<binary> encontrado em nenhuma das +bibliotecas, bit 1 (valor=2) activa o aviso “pacote podia evitar uma +dependência inútil” e bit 2 (valor=4) activa o aviso “I<binary> não deveria +estar em link contra I<library>”. O I<value> predefinido é 3: os dois +primeiros avisos estão activos por predefinição, o último não está. Defina +I<value> para 7 se deseja ter todos os avisos activos. + +=item B<--admindir=>I<dir> + +Altera a localização da base de dados do B<dpkg> (desde dpkg 1.14.0). A +localização predefinida é I<%ADMINDIR%>. + +=item B<-?>, B<--help> + +Mostra a mensagem de utilização e termina. + +=item B<--version> + +Mostra a versão e termina. + +=back + +=head1 AMBIENTE + +=over + +=item B<DPKG_COLORS> + +Define o modo de cor (desde dpkg 1.18.5). Os valores actualmente aceites +são: B<auto> (predefinido), B<always> e B<never>. + +=item B<DPKG_NLS> + +Se definida, será usada para decidir se deve activar o Suporte a Linguagem +Nativa. Também como conhecido como suporte de internacionalização (ou i18n) +(desde dpkg 1.19.0). Os valores aceites são B<0> e B<1> (predefinição). + +=back + +=head1 DIAGNÓSTICO + +=head2 Avisos + +Como o B<dpkg-shlibdeps> analisa o conjunto de símbolos usados por cada +binário do pacote gerado, é capaz de emitir avisos em vários casos. Eles +informam-o de coisas que podem ser melhoradas no pacote. Na maioria dos +casos, esses melhoramentos interessam directamente às fontes do autor. Por +ordem de importância descendente, aqui estão os vários avisos que você pode +encontrar: + +=over + +=item B<symbol> I<sym> B<used by> I<binary> B<found in none of the libraries.> + +O símbolo indicado não foi encontrado nas bibliotecas em link com o +binário. O I<binary> é mais certamente uma biblioteca e precisa de ser +ligada em link com uma biblioteca adicional durante o processo de compilação +(opção B<-l>I<library> do vinculador). + +=item I<binary> B<contains an unresolvable reference to symbol> I<sym>B<: it's +probably a plugin> + +O símbolo indicado não foi encontrado nas bibliotecas em link com o +binário. O I<binary> é mais certamente um plugin e o símbolo é provavelmente +fornecido pelo programa que carrega este plugin. Em teoria um plugin não tem +nenhum SONAME mas este binário tem um e como tal ele não pôde ser claramente +identificado como tal. No entanto, o facto de que o binários está armazenado +num directório não-público é uma forte indicação que não é uma biblioteca +partilhada normal. Se o binário é mesmo um plugin, então esqueça este +aviso. Mas há sempre a possibilidade que seja uma biblioteca real e que +esses programas em link com ela estejam a usar uma RPATH para que o +carregador dinâmico as encontre. Nesse caso, a biblioteca está quebrada e +precisa de ser reparada. + +=item B<package could avoid a useless dependency if> I<binary> B<was not linked +against> I<library> B<(it uses none of the library's symbols)> + +Nenhum dos I<binaries> que estão em link com I<library> usam qualquer dos +símbolos fornecidos pela biblioteca. Ao corrigir todos os binários, você +deveria evitar a dependência associada a esta biblioteca (a menos que a +mesma dependência seja também gerada por outra biblioteca que seja realmente +usada). + +=item B<package could avoid a useless dependency if> I<binaries> B<were not linked +against> I<library> B<(they use none of the library's symbols)> + +Exactamente o mesmo que o aviso em cima, mas para múltiplos binários. + +=item I<binary> B<should not be linked against> I<library> B<(it uses none of the +library's symbols)> + +O I<binary> está ligado em link com uma biblioteca que não precisa. Não é um +problema mas pode-se obter algum pequeno melhoramento de performance no +tempo de carga do binário se não se ligar esta biblioteca a este +binário. Este aviso verifica a mesma informação que o anterior mas fá-lo +para cada binário em vez de fazer as verificações globalmente para todos os +binários analisados. + +=back + +=head2 Erros + +B<dpkg-shlibdeps> irá falhar se não conseguir encontrar uma biblioteca +pública usada por um binário ou se esta biblioteca não tiver informação de +dependência associada (seja um ficheiro shlibs ou symbols). Uma biblioteca +pública tem um SONAME e é versionado ((libsomething.so.I<X>). Uma biblioteca +privada (como um plugin) não deve ter um SONAME e não precisa de ser +versionada. + +=over + +=item B<couldn't find library> I<library-soname> B<needed by> I<binary> B<(its +RPATH is '>I<rpath>B<')> + +O I<binary> usa uma biblioteca chamada I<library-soname> mas o +B<dpkg-shlibdeps> não foi capaz de encontrar a biblioteca. B<dpkg-shlibdeps> +cria uma lista de directórios a verificar como se segue: directórios +listados na RPATH do binário, directórios adicionados pela opção B<-l>, +directórios listados na variável de ambiente B<LD_LIBRARY_PATH>, directórios +de multi-arquitectura cruzada (ex. /lib/arm64-linux-gnu, +/usr/lib/arm64-linux-gnu), directórios públicos standard (/lib, /usr/lib), +directórios listados em /etc/ld.so.conf, e directórios multilib obsoletos +(/lib32, /usr/lib32, /lib64, /usr/lib64). Depois verifica esses directórios +na árvore de compilação do pacote do binário a ser analisado, nas árvores de +compilação dos pacotes indicados com a opção de linha de comandos B<-S>, nas +árvores de compilação de outros pacotes que contêm um ficheiro DEBIAN/shlibs +ou DEBIAN/symbols e finalmente no directório raiz. Se a biblioteca não for +encontrada em nenhum destes directórios, então você vai obter este erro. + +Se a biblioteca não encontrada está num directório privado do mesmo pacote, +então você tem de adicionar o directório com B<-l>. Se está noutro pacote +binário a ser compilado, então você tem de certificar-se que o ficheiro +shlibs/symbols deste pacote já está criado e que o B<-l> contém o directório +apropriado se estiver também num directório privado. + +=item B<no dependency information found for> I<library-file> B<(used by> +I<binary>B<).> + +A biblioteca necessária pelo I<binary> foi encontrada pelo B<dpkg-shlibdeps> +em I<library-file> mas B<dpkg-shlibdeps> não foi capaz de encontrar nenhuma +informação de dependência para essa biblioteca. Para encontrar a +dependência, tentou mapear a biblioteca a um pacote Debian com a ajuda de +B<dpkg -S> I<library-file>. Depois verificou os ficheiros shlibs e symbols +correspondentes em %ADMINDIR%/info/, e nas várias árvores de compilação de +pacotes (debian/*/DEBIAN/). + +Esta falha pode ser causada por um ficheiro shlibs ou symbols mau ou em +falta no pacote da biblioteca. Também pode acontecer se a biblioteca for +compilada dentro do mesmo pacote fonte e se os ficheiros shlibs ainda não +foram criados (que neste caso você tem de corrigir debian/rules para criar o +shlibs antes de chamar B<dpkg-shlibdeps>). Uma má RPATH também pode levar a +que a biblioteca seja encontrada sob um nome não-canónico (exemplo: +/usr/lib/openoffice.org/../lib/libssl.so.0.9.8 em vez de +/usr/lib/libssl.so.0.9.8) que não está associado a nenhum pacote, o +B<dpkg-shlibdeps> tenta contornar isto ao tentar descer para um nome +canónico (usando B<realpath>(3)) mas pode nem sempre funcionar. É sempre +melhor limpar a RPATH do binário para evitar problemas. + +Chamar o B<dpkg-shlibdeps> em modo detalhado (B<-v>) irá providenciar muito +mais informação acerca de onde ele tentou encontrar a informação de +dependência. Isto pode ser útil se você não perceber porquê está a dar-lhe +este erro. + +=back + +=head1 VEJA TAMBÉM + +B<deb-shlibs>(5), B<deb-symbols>(5), B<dpkg-gensymbols>(1). + + +=head1 TRADUÇÃO + +Américo Monteiro + +Se encontrar algum erro na tradução deste documento, por favor comunique para +Américo Monteiro <a_monteiro@gmx.com>. |