man-pages/pt/man1/dh_makeshlibs.1.html
2021-03-31 01:06:50 +01:00

336 lines
10 KiB
HTML
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML><HEAD><TITLE>Man page of DH_MAKESHLIBS</TITLE>
</HEAD><BODY>
<H1>DH_MAKESHLIBS</H1>
Section: Debhelper (1)<BR>Updated: 2020-03-27<BR><A HREF="#index">Index</A>
<A HREF="/cgi-bin/man/man2html">Return to Main Contents</A><HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NOME</H2>
dh_makeshlibs - cria automaticamente o ficheiro shlibs e chama
dpkg-gensymbols
<A NAME="lbAC">&nbsp;</A>
<H2>RESUMO</H2>
<B>dh_makeshlibs</B> [<I>opções do debhelper</I>] [<B>-m</B><I>major</I>]
[<B>-V</B><I>[dependências]</I>] [<B>-n</B>] [<B>-X</B><I>item</I>] [<B>--</B> <I>parâmetros</I>]
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIÇÃO</H2>
<B>dh_makeshlibs</B> é um programa debhelper que sonda automaticamente por
bibliotecas partilhadas, e gera um ficheiro shlibs para as bibliotecas que
encontra.
<P>
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,
<B>dh_makeshlibs</B> seria geralmente um script de mantenedor para este
objectivo.
<P>
Since debhelper 12.3, <B>dh_makeshlibs</B> will by default add an additional
<I>udeb</I> line for udebs in the shlibs file, when the udeb has the same name
as the deb followed by a ``-udeb'' suffix (e.g. if the deb is called
``libfoo1'', then debhelper will auto-detect the udeb if it is named
``libfoo1-udeb''). Please use the <B>--add-udeb</B> and <B>--no-add-udeb</B> options
below when this auto-detection is insufficient.
<P>
If you previously used <B>--add-udeb</B> and is considering to migrate to using
the auto-detection new auto-detection feature in 12.3, then please remember
to test that the resulting <I>DEBIAN/shlibs</I> files are as expected. There
are some known corner cases, where the auto-detection is insufficient.
These include when the udeb contains library files from multiple regular deb
packages or when the packages do not follow the expected naming convention.
<A NAME="lbAE">&nbsp;</A>
<H2>FICHEIROS</H2>
<DL COMPACT>
<DT id="1">debian/<I>pacote</I>.shlibs<DD>
Instala este ficheiro, se presente, no pacote como DEBIAN/shlibs. Se
omitido, o debhelper irá gerar um ficheiro shlibs automaticamente se
detectar quaisquer bibliotecas.
<P>
Note que em níveis de compatibilidade 9 e anteriores, este ficheiro era
instalado pelo <B><A HREF="/cgi-bin/man/man2html?1+dh_installdeb">dh_installdeb</A></B>(1) em vez do <B>dh_makeshlibs</B>.
<DT id="2">debian/<I>pacote</I>.symbols<DD>
<DT id="3">debian/<I>pacote</I>.symbols.<I>arquitectura</I><DD>
Estes ficheiros de símbolos, se presentes, são passados para
<B><A HREF="/cgi-bin/man/man2html?1+dpkg-gensymbols">dpkg-gensymbols</A></B>(1) para serem processados e instalados. Use os nomes
específicos de <I>arch</I> se precisar de disponibilizar ficheiros de símbolos
diferentes para diferentes arquitecturas.
</DL>
<A NAME="lbAF">&nbsp;</A>
<H2>OPÇÕES</H2>
<DL COMPACT>
<DT id="4"><B>-m</B><I>major</I>, <B>--major=</B><I>major</I><DD>
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.
<DT id="5"><B>-V</B>, <B>-V</B><I>dependências</I><DD>
<DT id="6"><B>--version-info</B>, <B>--version-info=</B><I>dependências</I><DD>
Se um ficheiro shlibs for gerado por este programa, esta opção controla que
versão será usada na relação de dependência.
<P>
Em compatibilidade 12 e posterior, <B>dh_makeshlibs</B> usa por predefinição
<B>-VUpstream-Version</B>. Em compatibilidade 11 e anterior o comportamento
predefinido é como <B>-VNone</B>.
<P>
A ferramenta <B>dh_makeshlibs</B> pode gerar dependências em três variantes:
<DL COMPACT><DT id="7"><DD>
<DL COMPACT>
<DT id="8"><B>-VUpstream-Version</B><DD>
A dependência será &quot;<I>packagename</I> <B>(&gt;</B>= <I>packageversion</I><B>)</B>&quot;. Note
que <I>Upstream-Version</I> é sensível a maiúsculas/minúsculas e tem de ser
escrito exactamente como mostrado aqui.
<P>
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
<FONT SIZE="-1">ABI</FONT> sem actualizar o número de versão do autor).
<P>
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.
<P>
Este formato explícito foi adicionado no debhelper/11.3. Nas versões
anteriores, era usado em vez disto um <B>-V</B> sem nenhuma informação de
dependência (e esse formato ainda funciona).
<DT id="9"><B>-VNone</B><DD>
A dependência será &quot;<I>packagename</I>&quot;. Note que <I>None</I> é sensível a
maiúsculas/minúsculas e tem de ser escrito exactamente como mostrado aqui.
<P>
Este formato é na generalidade não seguro sendo a única excepção se o autor
original não estender a <FONT SIZE="-1">ABI</FONT> 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 <B>-VUpstream-Version</B> (ou um dos outros
formatos de <B>-V</B><I>dependencies</I>).
<P>
Alternativamente, isto pode ser suficiente se (e apenas se) o pacote usar
versão por símbolo (veja <B><A HREF="/cgi-bin/man/man2html?1+dpkg-gensymbols">dpkg-gensymbols</A></B>(1)) e <I>não</I> 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.
<DT id="10"><B>-V</B><I>package-relation</I><DD>
Neste caso, o valor passado a <B>-V</B> irá ser usado como uma relação de
dependência. O <I>package-relation</I> deve geralmente ser do formato
&quot;<I>algum-nome-pacote</I> <B>(&gt;</B>= <I>alguma-versão-pacote</I><B>)</B>&quot;. Lembre-se de
incluir o nome do pacote.
<P>
Note que o debhelper irá usar o calor <I>como está</I> sem verificações de
sanidade ou modificação. Em casos <I>raros e especiais</I>, isto é preciso para
gerar uma dependência num pacote diferente daquele que contém a biblioteca.
</DL>
</DL>
<DL COMPACT><DT id="11"><DD>
<P>
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 <B><A HREF="/cgi-bin/man/man2html?1+dpkg-shlibdeps">dpkg-shlibdeps</A></B>(1)
para mais informação sobre este tópico.
</DL>
<DT id="12"><B>-n</B>, <B>--no-scripts</B><DD>
Não adiciona o trigger ``ldconfig'' mesmo que parece que o pacote possa
precisar dele. A opção é chamada <B>--no-scripts</B> por razões históricas pois
o <B>dh_makeshlibs</B> previamente gerava scripts do mantenedor que chamavam
<B>ldconfig</B>.
<DT id="13"><B>-X</B><I>item</I>, <B>--exclude=</B><I>item</I><DD>
Exclui ficheiros que contenham <I>item</I> em qualquer ponto do seu nome de
ficheiro ou directório de serem tratados como bibliotecas partilhadas.
<DT id="14"><B>--add-udeb=</B><I>udeb</I><DD>
Cria uma linha adicionar para udebs no ficheiro shlibs e usa <I>udeb</I> como o
nome do pacote para o udebs depender dele em vez do pacote da biblioteca
normal.
<P>
This option is only useful for special cases such as when debhelper cannot
auto-detect package name of the udeb package, when the udeb will contain
libraries from multiple deb packages, or when the udeb contains libraries
<B>not</B> present in the deb package.
<DT id="15"><B>--no-add-udeb</B><DD>
Do not add any udeb lines to the shlibs file. This can be used to disable
the default auto-detection of udebs.
<P>
This may be useful in case you do not want a shlibs file at all for the udeb
because no package will depend on it. E.g. because adding a udeb package
for the library was ``overkill'' and the library is embedded in a different
udeb package.
<DT id="16"><B>--</B> <I>params</I><DD>
Passa <I>params</I> para <B><A HREF="/cgi-bin/man/man2html?1+dpkg-gensymbols">dpkg-gensymbols</A></B>(1).
</DL>
<A NAME="lbAG">&nbsp;</A>
<H2>EXEMPLOS</H2>
<DL COMPACT>
<DT id="17"><B>dh_makeshlibs -VNone</B><DD>
Assumindo que este é um pacote chamado <I>libfoobar1</I>, gera um ficheiro
shlibs que se parece com algo como isto:
<BR>&nbsp;libfoobar&nbsp;1&nbsp;libfoobar1
<DT id="18"><B>dh_makeshlibs -VUpstream-Version</B><DD>
Assumindo que a versão actual do pacote é 1.1-3, gera um ficheiro shlibs
que se parece com algo como isto:
<BR>&nbsp;libfoobar&nbsp;1&nbsp;libfoobar1&nbsp;(&gt;=&nbsp;1.1)
<DT id="19"><B>dh_makeshlibs -V 'libfoobar1 (&gt;= 1.0)'</B><DD>
Gera um ficheiro shlibs que se parece com isto:
<BR>&nbsp;&nbsp;libfoobar&nbsp;1&nbsp;libfoobar1&nbsp;(&gt;=&nbsp;1.0)
</DL>
<A NAME="lbAH">&nbsp;</A>
<H2>VEJA TAMBÉM</H2>
<B><A HREF="/cgi-bin/man/man2html?7+debhelper">debhelper</A></B>(7)
<P>
Este programa é parte do debhelper.
<A NAME="lbAI">&nbsp;</A>
<H2>AUTOR</H2>
Joey Hess &lt;<A HREF="mailto:joeyh@debian.org">joeyh@debian.org</A>&gt;
<A NAME="lbAJ">&nbsp;</A>
<H2>TRADUÇÃO</H2>
Américo Monteiro
<P>
Se encontrar algum erro na tradução deste documento, por favor comunique para
Américo Monteiro <I><A HREF="mailto:a_monteiro@gmx.com">a_monteiro@gmx.com</A></I>
ou
Equipa Debian de Tradução Portuguesa <I><A HREF="mailto:traduz@debianpt.org">traduz@debianpt.org</A></I>.
<P>
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT id="20"><A HREF="#lbAB">NOME</A><DD>
<DT id="21"><A HREF="#lbAC">RESUMO</A><DD>
<DT id="22"><A HREF="#lbAD">DESCRIÇÃO</A><DD>
<DT id="23"><A HREF="#lbAE">FICHEIROS</A><DD>
<DT id="24"><A HREF="#lbAF">OPÇÕES</A><DD>
<DT id="25"><A HREF="#lbAG">EXEMPLOS</A><DD>
<DT id="26"><A HREF="#lbAH">VEJA TAMBÉM</A><DD>
<DT id="27"><A HREF="#lbAI">AUTOR</A><DD>
<DT id="28"><A HREF="#lbAJ">TRADUÇÃO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="/cgi-bin/man/man2html">man2html</A>,
using the manual pages.<BR>
Time: 00:06:21 GMT, March 31, 2021
</BODY>
</HTML>