Como criar vários pacotes debian usando o mesmo diretório debian

4

Estou empacotando um aplicativo no meu PC para fins de instalação / distribuição. Eu criei o pacote com sucesso usando o recurso dpkg no Ubuntu 12.04. Agora eu preciso criar vários pacotes (pacote binário (como xxx.deb), pacote fonte (xxx.1.0-1-devel.deb)) usando a mesma configuração de arquivo. A pasta Debian contém todos os arquivos modificados necessários para o empacotamento usando dpkg-buildpackage -rfakeroot . Se eu precisar criar todos os arquivos .deb usando a mesma configuração do arquivo debian. O que devo fazer adicionalmente?

além disso, abaixo as coisas também confusas para mim. o que deve incluir o pacote -devel? faz apenas arquivos de cabeçalho de desenvolvimento ou arquivos de cabeçalho de desenvolvimento e bibliotecas compartilhadas necessárias ou todos os arquivos binários, incluindo arquivos de cabeçalho?

    
por Dig The Code 12.11.2014 / 09:35

1 resposta

4

Eu assumo que o seu programa de destino é um c / c ++ ou linguagem similar.

  • Você pode incluir todos os arquivos em um pacote binário. Mas ainda é melhor separar arquivos de desenvolvimento em outro.

    *-dev (não -devel ) deve incluir apenas cabeçalhos, bibliotecas estáticas, libs compartilhadas e até mesmo ferramentas binárias se essas ferramentas forem usadas apenas para desenvolvimento.

  • Você pode declarar vários pacotes de binários para uma única fonte em debian/control . O melhor é aprender pelo exemplo, samba :

    Pacote fonte: link , veja quantos pacotes binários foram criados a partir da mesma fonte.

    Vamos escolher um (pacote principal, samba - *. deb): link , veja o lado direito *-debian.tar.gz . Faça o download e abra-o. Leia seu arquivo control :

    Source: samba
    ...
    
    Package: samba
    ...
    
    Package: samba-libs
    ...
    

    Cada pacote binário possui seu próprio arquivo *.install , que lista os arquivos que serão instalados e onde. Exemplo: samba.install , samba-libs.install , ..

  • Para bibliotecas, estática incluída apenas em *-dev package.

    Os compartilhados devem ser incluídos em ambos, se você tiver versões diferentes que possam ser instaladas ao mesmo tempo.

    Exemplo, samba-dev , na parte inferior da página, clique em list de arquivos e isso com libs estáticas libc6-dev .

    Caso contrário, coloque libs compartilhadas somente no pacote binário regular e então adicione-o como dependência para o pacote de desenvolvimento.

    Referências:

por user.dz 13.04.2015 / 13:02