Pacotes fonte no Debian não são necessariamente um pacote .deb. Ao contrário do src.rpm, o Debian tem três arquivos que representam o pacote fonte. O arquivo .orig.tar.gz (ou .tar.gz no caso de pacotes nativos Debian), o .diff.gz e o .dsc.
O orig.tar.gz tem o fonte original do programa, sem modificação alguma, o .diff.gz guarda as modificações feitas no pacote para "debianizá-lo" e, finalmente, o .dsc é um arquivo de controle usado pelo sistema de empacotamento para lidar com o pacote fonte.
Pode-se baixar pacotes fonte com o APT. Para isso basta digitar:
$ apt-get source pacote
Esse comando baixa os três arquivos necessários e cria o diretório pacote-versão. Para compilar esse pacote (torná-lo um .deb) basta entrar no diretório recém-criado e digitar:
$ dpkg-buildpackage -rfakeroot -us -uc
Isso construirá no diretório pai (onde está o diretório pacote-versão) o pacote .deb daquele programa.
Você pode também rodar o script debian/rules com o argumento binary. Dentro do diretório pacote-versão faça:
$ debian/rules binary
Use o fakeroot caso não esteja como root, colocando-o no início da linha acima. Para que o processo aconteça automaticamente basta executar:
$ apt-get -b source pacote
Isso irá fazer com que o pacote fonte seja baixado e automaticamente compilado após o download.
Outra forma de usar pacotes fonte é baixar por si mesmo os três arquivos necessários e então usar as ferramentas providas pelo sistema de gerenciamento de pacotes para usá-los. Para criar o diretório pacote-versão debianizado a partir dos três arquivos basta rodar:
$ dpkg-source -x pacote.dsc
Isso vai abrir o orig.tar.gz e aplicar o .diff.gz. A partir desse momento pode-se usar o dpkg-buildpackage -rfakeroot -us -uc para construir esse pacote.
Para compilar pacotes, normalmente, você vai precisar de algumas bibliotecas e headers que podem não estar instalados. Essas são as chamadas dependências de compilação. Para resolver, você pode olhar no arquivo debian/control que está dentro do diretório pacote-versão a linha Build-Depends: e instalar os pacotes listados ali.
O APT mais novo, que está atualmente no woody tem uma função especial que é capaz de checar essas dependências automaticamente. Para isso basta executar:
# apt-get build-dep pacote
O pacote da linha de comando é o pacote do qual se quer pegar as dependências de compilação. Note que esse comando não baixa o fonte do pacote.
kov@debian.org