Como empacotar biblioteca compartilhada em pacotes deb

4

Meu aplicativo usa algumas bibliotecas compartilhadas, que eu preciso para empacotar com o binário, e como por Regras de política do Debian

  

Recomenda-se que os arquivos de suporte e programas de suporte em tempo de execução que não precisem ser invocados manualmente pelos usuários, mas que sejam necessários para o pacote funcionar, sejam colocados (se forem binários) em um subdiretório de /usr/lib , de preferência abaixo de /usr/lib/package-name .

Então, eu coloco minha biblioteca compartilhada, por exemplo libabc.so in /usr/lib/myapp/ directory. Depois de criar o pacote debian, o binário não é carregado, pois /usr/lib/myapp/ não é pesquisado pelo carregador para carregar o diretório. Eles não recomendam usar RPATH no binário.

Então, quais mudanças devo fazer no pacote Debian, no arquivo postinst ou qualquer outra coisa para que funcione.

    
por adnan kamili 23.01.2013 / 16:24

1 resposta

0

Não, sua biblioteca compartilhada deve estar instalada:

  • para /usr/lib diretamente
  • ou para /usr/lib/<package-name> com um atalho em /usr/lib

O manual significa:

  • por supporting files como plugins e módulos (em formato binário) que o seu programa os verificaria sozinho. Eles podem ser compartilhados libs .so ou qualquer outro formato, até mesmo formatos personalizados.
  • por run-time support programs dos programas executáveis que são usados pelo seu programa, mas não são úteis para o usuário executá-los diretamente, portanto, isso sugere que você evite instalá-los em /usr/bin

Os arquivos de suporte em formato de texto (não gerados pelo menos binário) são mais convenientes para serem instalados em /usr/share/<package-name>

Eu recomendaria a você, fazendo uma rápida olhada nos exemplos de outros pacotes.

tree /usr/lib/libreoffice/
tree /usr/lib/gimp/
    
por user.dz 25.11.2016 / 14:44