Este é um lugar onde eu sempre achei a documentação em falta. Eu praticamente só aprendi como isso funciona, observando como isso é feito em outros pacotes. Como a maioria das coisas no empacotamento da Debian, existem algumas maneiras de fazer isso. Acho que a maneira mais simples é usar arquivos debian/package.install
. Aqui está um exemplo de um pacote em que trabalhei, imagination (ramificação bzr) .
Primeiro, precisamos criar o pacote em debian/control
. Existem três estrofes agora. Um para o pacote fonte e um para cada pacote binário. Observe que o pacote foo-data deve ser Architecture: all
. Observe também que a imaginação depende de imagination-common (= ${source:Version})
.
Em seguida, criamos um arquivo debian/imagination.install
. Isto contém os arquivos ou caminhos específicos que queremos finalizar no pacote de imaginação. Para este pacote, queremos todos os arquivos dependentes da arquitetura. O arquivo da área de trabalho é incluído, já que ele precisa dizer com o binário que chama na linha Exec:
.
usr/bin/
usr/lib/
/usr/share/applications/imagination.desktop
Precisamos criar um arquivo debian/imagination-common.install
. Isso conterá todos os arquivos independentes de arquitetura, imagens, traduções, documentos e afins.
/usr/share/doc/
/usr/share/icons/
/usr/share/imagination/
/usr/share/locale/
man dh_install
descreve o que realmente está acontecendo aqui:
talvez você tenha um pacote grande constrói vários pacotes binários. Você pode usar o Makefile upstream para instala tudo em debian / tmp e então use o dh_install para copiar diretórios e arquivos de lá em os diretórios de compilação do pacote adequado.
O que significa "os diretórios de compilação de pacotes apropriados" é que, no final do processo de compilação, tudo o que estará no foo.deb
resultante será encontrado em src/debian/foo
. Os arquivos que serão encontrados em foo-data.deb
serão encontrados em src/debian/foo-data
. Como debian/rules
é essencialmente apenas um Makefile, você pode começar a imaginar outras maneiras de obter o mesmo resultado.