O arquivo rules
é o que faz todo o trabalho para realmente criar o pacote. É um Makefile com os destinos para compilar e instalar o aplicativo e, em seguida, criar o arquivo .deb
dos arquivos instalados. Ele também tem um destino para limpar todos os arquivos de compilação, para que você acabe com apenas um pacote de origem novamente. Como o Manual de Políticas Debian diz:
Este arquivo deve ser um makefile executável e contém o receitas específicas do pacote para compilar o pacote e construir o binário pacote (s) da fonte.
Isso é bom e tudo mais, mas o que realmente está acontecendo aqui:
%:
dh $@
dh
é um comando auxiliar que chama outros destinos do Make e executa uma série de comandos debhelper
. Como sua página de manual descreve:
dh runs a sequence of debhelper commands. The supported sequences
correspond to the targets of a debian/rules file: build-arch, build-
indep, build, clean, install-indep, install-arch, install, binary-arch,
binary-indep, and binary.
Novamente, é apenas um arquivo auxiliar para simplificar as coisas. Você não precisa usá-lo, mas torna sua vida muito mais fácil. Para ver quais comandos são realmente executados em cada destino, execute:
dh binary-arch --no-act
Agora, para o seu problema específico ... não acho que tenha algo a ver com o seu arquivo rules
. Sem ver o pacote fonte real, é difícil dizer com certeza qual é o problema. Embora eu arrisque adivinhar que não há uma sub-rotina de pacotes binários no seu arquivo debian/control
. No trecho a seguir, a primeira 'sub-rotina' descreve o pacote de origem, enquanto a segunda descreve o pacote binário que será criado:
Source: hello
Section: devel
Priority: optional
Maintainer: Ubuntu Developers <[email protected]>
XSBC-Original-Maintainer: Jane Doe <[email protected]>
Standards-Version: 3.9.1
Build-Depends: debhelper (>= 7)
Homepage: http://www.gnu.org/software/hello/
Package: hello
Architecture: any
Depends: ${shlibs:Depends}
Description: The classic greeting, and a good example
The GNU hello program produces a familiar, friendly greeting. It
allows non-programmers to use a classic computer science tool which
would otherwise be unavailable to them. Seriously, though: this is
an example of how to do a Debian package. It is the Debian version of
the GNU Project's 'hello world' program (which is itself an example
for the GNU Project).