Construindo deb: Como colocar arquivos independentes de arquivos em pacotes .deb separados?

1

Quando você constrói um deb, como você faz com que arquive dados independentes, como arquivos de plugins, para serem empacotados em um .deb separado?

    
por Flint 04.07.2013 / 04:08

1 resposta

2

No pacote debian, o arquivo control contém os detalhes sobre os pacotes binários que o pacote fonte produzirá. Você precisará especificar tanto o seu pacote dependente quanto o independente do arco no arquivo de controle.

Usando debhelper , você desejará que o sistema de compilação do seu software seja instalado no debian / tmp. Como você faz isso dependerá do sistema de compilação do software. Por exemplo, se o sistema de compilação do software usar GNU autotools , você usaria o seguinte para as regras de debhelper :

override_dh_auto_configure:
        ./configure \
        --prefix=/tmp

De lá, você deseja usar dh_install para mover esses arquivos para os diretórios apropriados para o empacotamento. Para fazer isso, você precisa de um arquivo para cada pacote binário chamado <package_name>.install . O arquivo deve conter nomes de arquivos ou padrões a serem incluídos no pacote.

Este é o exemplo fornecido pela dh_install manpage:

EXAMPLE
   Suppose your package's upstream Makefile installs a binary, a man page,
   and a library into appropriate subdirectories of debian/tmp. You want
   to put the library into package libfoo, and the rest into package foo.
   Your rules file will run "dh_install --sourcedir=debian/tmp". Make
   debian/foo.install contain:

     usr/bin
     usr/share/man/man1

   While debian/libfoo.install contains:

     usr/lib/libfoo*.so.*

   If you want a libfoo-dev package too, debian/libfoo-dev.install might
   contain:

     usr/include
     usr/lib/libfoo*.so
     usr/share/man/man3
    
por 04.07.2013 / 06:02