Provided by: debhelper_13.14.1ubuntu5_all 

NOME
dh_makeshlibs - cria automaticamente o ficheiro shlibs e chama dpkg-gensymbols
RESUMO
dh_makeshlibs [opções do debhelper] [-mmajor] [-V[dependências]] [-n] [-Xitem] [-- parâmetros]
DESCRIÇÃO
dh_makeshlibs é um programa debhelper que sonda automaticamente por bibliotecas partilhadas, e gera um
ficheiro shlibs para as bibliotecas que encontra.
Também assegura que o ldconfig é invocado durante a instalação e remoção quando encontra bibliotecas
partilhadas. Desde o debhelper 9.20151004, isto é feito via um trigger do dpkg. Nas versões mais antigas
do debhelper, dh_makeshlibs seria geralmente um script de maintainer para este objetivo.
Desde o debhelper 12.3, dh_makeshlibs irá por predefinição adicionar uma linha udeb adicional para udebs
no ficheiro shlibs, quando o udeb tem o mesmo nome que o deb seguido por um sufixo "-udeb" (ex. se o deb
for chamado "libfoo1", então o debhelper irá auto-detectar o udeb se ele for chamado "libfoo1-udeb"). Por
favor use as opções --add-udeb e --no-add-udeb abaixo quando esta auto-detecção é insuficiente.
Se você usou anteriormente --add-udeb e está a considerar migrar para a utilização da nova funcionalidade
de auto-detecção em 12.3, então por favor lembre-se de testar que os ficheiros DEBIAN/shlibs resultantes
são os esperados. Existem alguns casos conhecidos, onde a auto-detecção é insuficiente. Estes incluem
quando o udeb contem ficheiros biblioteca de múltiplos pacotes deb regulares ou quando os pacotes não
seguem a convenção de nomes esperada.
FICHEIROS
debian/pacote.shlibs
Instala este ficheiro, se presente, no pacote como DEBIAN/shlibs. Se omitido, o debhelper irá gerar
um ficheiro shlibs automaticamente se detectar quaisquer bibliotecas.
Note que em níveis de compatibilidade 9 e anteriores, este ficheiro era instalado pelo
dh_installdeb(1) em vez do dh_makeshlibs.
debian/pacote.symbols
debian/pacote.symbols.arquitectura
Estes ficheiros de símbolos, se presentes, são passados para dpkg-gensymbols(1) para serem
processados e instalados. Use os nomes específicos de arch se precisar de disponibilizar ficheiros de
símbolos diferentes para diferentes arquitecturas.
OPÇÕES
-mmajor, --major=major
Em vez de tentar adivinhar o maior número da biblioteca com o objdump, usa o maior número
especificado após o parâmetro -m. Isto é muito menos útil do que costumava ser, de volta aos maus
velhos tempos quando este programa olhava para os nomes de ficheiro das bibliotecas em vez de usar o
objdump.
-V, -Vdependências
--version-info, --version-info=dependências
Se um ficheiro shlibs for gerado por este programa, esta opção controla que versão será usada na
relação de dependência.
Em compatibilidade 12 e posterior, dh_makeshlibs usa por predefinição -VUpstream-Version. Em
compatibilidade 11 e anterior o comportamento predefinido é como -VNone.
A ferramenta dh_makeshlibs pode gerar dependências em três variantes:
-VUpstream-Version
A dependência será "packagename (>= packageversion)". Note que Upstream-Version é sensível a
maiúsculas/minúsculas e tem de ser escrito exactamente como mostrado aqui.
Esta é uma definição conservativa que assegura sempre que as dependências de bibliotecas
partilhadas dos pacotes mais antigos são pelo menos tão justas o quanto precisam de ser (a menos
que a biblioteca seja inclinada a alterar a ABI sem actualizar o número de versão do autor).
O reverso da medalha é que os pacotes podem acabar com dependências muito apertadas em alguns
casos (note que um ficheiro symbols pode mitigar esta situação). Isto é geralmente uma
inconveniência menor temporária e normalmente muito melhor que a falha causada ao esquecer de
inserir a informação de dependência.
Este formato explícito foi adicionado no debhelper/11.3. Nas versões anteriores, era usado em vez
disto um -V sem nenhuma informação de dependência (e esse formato ainda funciona).
-VNone
A dependência será "packagename". Note que None é sensível a maiúsculas/minúsculas e tem de ser
escrito exactamente como mostrado aqui.
Este formato é na generalidade não seguro sendo a única excepção se o autor original não estender
a ABI de maneira nenhuma. No entanto, a maioria dos autores originais melhoram as suas interfaces
com o passar do tempo e é recomendado que os pacotes usem -VUpstream-Version (ou um dos outros
formatos de -Vdependencies).
Alternativamente, isto pode ser suficiente se (e apenas se) o pacote usar versão por símbolo
(veja dpkg-gensymbols(1)) e não compilar nenhum pacote udeb. Note que symbols não são suportados
para pacotes udeb, os quais apenas se apoiam em shlibs para manuseamento das dependências.
-Vpackage-relation
Neste caso, o valor passado a -V irá ser usado como uma relação de dependência. O package-
relation deve geralmente ser do formato "algum-nome-pacote (>= alguma-versão-pacote)". Lembre-se
de incluir o nome do pacote.
Note que o debhelper irá usar o calor como está sem verificações de sanidade ou modificação. Em
casos raros e especiais, isto é preciso para gerar uma dependência num pacote diferente daquele
que contém a biblioteca.
Quando escolher um valor para esta opção, por favor lembre-se que se o pacote fornecer um ficheiro
symbols, então esse é geralmente preferido sobre o ficheiro shlibs para pacotes .deb regulares. Veja
dpkg-shlibdeps(1) para mais informação sobre este tópico.
-n, --no-scripts
Não adiciona o trigger "ldconfig" mesmo que parece que o pacote possa precisar dele. A opção é
chamada --no-scripts por razões históricas pois o dh_makeshlibs previamente gerava scripts do
maintainer que chamavam ldconfig.
-Xitem, --exclude=item
Exclui ficheiros que contenham item em qualquer ponto do seu nome de ficheiro ou directório de serem
tratados como bibliotecas partilhadas.
--add-udeb=udeb
Cria uma linha adicionar para udebs no ficheiro shlibs e usa udeb como o nome do pacote para o udebs
depender dele em vez do pacote da biblioteca normal.
Esta opção é apenas útil para casos especiais tais como quando o debhelper não consegue auto-detectar
o nome de pacote para o pacote udeb, quando o udeb irá conter bibliotecas de múltiplos pacotes deb,
ou quando o udeb contem bibliotecas não presentes no pacote deb.
--no-add-udeb
Não adiciona nenhumas linhas udeb ao ficheiro shlibs. Isto pode ser usado para desactivar a
auto-detecção predefinida do udebs.
Isto pode ser útil caso você não queira nenhum ficheiro shlibs para o udeb porque nenhum pacote irá
depender dele. Ex. porque adicionar um pacote udeb para a biblioteca foi "exagero" e a biblioteca
está embebida num pacote udeb diferente.
-- params
Passa params para dpkg-gensymbols(1).
EXEMPLOS
dh_makeshlibs -VNone
Assumindo que este é um pacote chamado libfoobar1, gera um ficheiro shlibs que se parece com algo
como isto:
libfoobar 1 libfoobar1
dh_makeshlibs -VUpstream-Version
Assumindo que a versão actual do pacote é 1.1-3, gera um ficheiro shlibs que se parece com algo como
isto:
libfoobar 1 libfoobar1 (>= 1.1)
dh_makeshlibs -V 'libfoobar1 (>= 1.0)'
Gera um ficheiro shlibs que se parece com isto:
libfoobar 1 libfoobar1 (>= 1.0)
VEJA TAMBÉM
debhelper(7)
Este programa é parte do debhelper.
AUTOR
Joey Hess <joeyh@debian.org>
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 ou Equipa Debian de Tradução Portuguesa traduz@debianpt.org.
13.14.1ubuntu5 2024-03-01 DH_MAKESHLIBS(1)