Este é um lugar onde eu sempre achei a documentação ausente. Aprendi apenas como isso funciona, observando como é feito em outros pacotes. Como na maioria das coisas no pacote Debian, existem algumas maneiras de fazer isso. Acho que a maneira mais simples é usar debian/package.install
arquivos. Aqui está um exemplo de um pacote no qual trabalhei, a imaginação (ramo bzr) .
Primeiro, precisamos criar o pacote debian/control
. Existem três estrofes agora. Um para o pacote de origem 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 imagination-common (= ${source:Version})
.
Em seguida, criamos um debian/imagination.install
arquivo. Isso contém os arquivos ou caminhos específicos que queremos encontrar no pacote imaginação. Para este pacote, queremos todos os arquivos dependentes da arquitetura. O arquivo da área de trabalho está incluído, como é necessário dizer com o binário que ele chama em sua Exec:
linha.
usr/bin/
usr/lib/
/usr/share/applications/imagination.desktop
Precisamos criar um debian/imagination-common.install
arquivo. Isso conterá todos os arquivos, imagens, traduções, documentos e similares independentes da arquitetura.
/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 que cria vários pacotes binários. Você pode usar o Makefile upstream para instalar tudo no debian / tmp e, em seguida, usar o dh_install para copiar diretórios e arquivos de lá para os diretórios apropriados de compilação de pacotes.
O que significa "os diretórios apropriados de compilação de pacotes" é que, ao final do processo de compilação, tudo o que estará no resultado foo.deb
será encontrado em src/debian/foo
. Os arquivos que terminarão 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.