Vou usar o programa
apt-build, que baixa pacotes fonte (de código-fonte) dos repositórios do
Debian, compila otimizando para o seu computador, constrói um .deb e instala, respeitando as dependências do SO, tudo automaticamente a partir de um comando. É o melhor... quer dizer, o mais fác... ops, quer dizer, é o jeito Debian :)
Existe um artigo sobre isso aqui no
Viva o Linux mesmo,
Compilando e instalando programas com o apt-build, mas é bem diminuto.
Para completar o artigo vamos preparar o terreno e ver alguns comandos. Primeiro o seu
sources.list deve ter habilitados os repositórios deb-src, de pacotes fonte, como no exemplo:
Na maioria das instalações é provável que esteja tudo OK, mas não custa checar antes. Note que o apt-build adiciona a linha para o repositório próprio no seu sources.list. Cuidado para não apagá-lo quando for modificar os repositórios! Agora os comandos:
# apt-build update
e
# apt-build install nomedopacote
Fazem o mesmo que o apt-get, ou seja, atualiza as informações sobre os pacotes e instala. A saída de um comando "install" é mais ou menos assim:
# apt-build install memstat
-----> Installing build dependencies (for memstat) -----
Reading Package Lists... Done
Building Dependency Tree... Done
0 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
-----> Downloading memstat source (memstat) -----
Reading Package Lists... Done
Building Dependency Tree... Done
Need to get 22.4kB of source archives.
Get:1 ftp://127.0.0.1 1.0.4/main memstat 0.4-1 (dsc) [482B]
Get:2 ftp://127.0.0.1 1.0.4/main memstat 0.4-1 (tar) [21.9kB]
Fetched 22.4kB in 0s (322kB/s)
dpkg-source: extracting memstat in memstat-0.4
-----> Building memstat -----
...
...
...
dpkg-genchanges: binary-only upload - not including any source code
dpkg-buildpackage: binary only upload (no source included)
-----> Moving packages to repository -----
-----> Updating repository -----
Using: -O3 -mcpu=athlon-xp -march=athlon-xp
...
...
Reading Package Lists... Done
Building Dependency Tree... Done
Reading Package Lists... Done
Building Dependency Tree... Done
The following NEW packages will be installed:
memstat
Fonte:
http://www.debian-rs.org/sites/.../artigos/apt-build-pt-br.html
Vimos que o apt-build faz update, depois verifica as dependências (e instala os pacotes que faltarem), baixa três arquivos (diff, dsc e tar) que compõem a fonte e só depois compila e instala. Tudo automático, claro.
Existem outros comandos:
apt-build build-source nomedopacote
Baixa a fonte, resolve dependências, compila e constrói o pacote .deb, sem instalar.
apt-build source nomedopacote
Este baixa os três arquivos mencionados no diretório build-dir (por padrão /var/cache/apt-build/build), para que você possa fazer modificações, melhorias e/ou estudar a fonte. Dá pra fazer algumas modificações para que a compilação se adeque melhor ao seu sistema também. Por fim, é possível construir o pacote .deb "na mão", facilmente, usando o:
# debian/rules binary
OBS: Isso na raiz do diretório do pacote em questão, algo como:
# pwd
/var/cache/apt-build/build/nomedopacote/
# debian/rules binary
Existem alguns outros comandos, mas acho que os que interessam aqui são estes. A fonte acima é um bom começo para conhecer o apt-build, assim como o
Guia do novo Mantenedor Debian.