Como usar o APT Capítulo 6 - Lidando com pacotes fonte

6.1 Baixando pacotes fonte

É comum no mundo livre que se estude código fonte ou mesmo que se faça correções em código fonte com erros. Para isso é necessário que se baixe o fonte do programa. O sistema APT provê uma maneira fácil de se obter os fontes dos vários programas contidos na distribuição, com, inclusive, os arquivos necessários para se criar o .deb do programa.
Outro uso comum dos fontes no Debian é o de adequar uma versão mais nova de um programa que está na distribuição unstable, por exemplo, à estável. Compilar um pacote no stable gera .debs com dependências ajustadas aos pacotes disponíveis nessa distribuição.
Para que isso seja feito, a entrada deb-src do seu /etc/apt/sources.list deve estar apontando para a unstable. E esteja habilitada (descomentada). Veja a seção O arquivo /etc/apt/sources.list, Seção 2.1.
Para baixar um pacote fonte, você usa o seguinte comando:
$ apt-get source nomedopacote
Ele irá baixar três arquivos. Um .orig.tar.gz, um .dsc e um .diff.gz. No caso de pacotes feitos especificamente para o Debian, o último desses não é baixado e o primeiro costuma não ter a parte "orig" no nome.
O arquivo .dsc é usado pelo dpkg-source para descompactar o pacote fonte no diretório nomedopacote-versão. Dentro de todo pacote fonte baixado existe o diretorio debian/ que contém os arquivos para se criar o pacote .deb.
Para que o pacote seja auto-construído ao acabar de ser baixado, basta especificar -b na linha de comando, assim:
$ apt-get -b source nomedopacote
Se você decidir não gerar o .deb logo após o download, você pode fazê-lo depois rodando:
$ dpkg-buildpackage -rfakeroot -uc -b
de dentro do diretório criado para o pacote após o download. Para instalar um arquivo .deb deve-se usar o gerenciador de pacotes diretamente, da seguinte forma:
# dpkg -i arquivo.deb
Há uma grande diferença entre o método source do apt-get e os outros. Este pode ser usado por usuários comuns, sem a necessidade de poderes especiais de root. Os arquivos são baixados no diretório de onde foi chamado o comando apt-get source pacote.


6.2 Pacotes necessários para compilação de um pacote fonte

Pacotes fontes, normalmente precisam de bibliotecas compartilhadas e headers específicos para serem compilados. Todo pacote fonte tem em seus arquivos de controle um campo conhecido como 'Build-Depends:' que indica quais os pacotes são necessários para se compilar o pacote fonte.
O APT tem uma maneira simples de baixar esses pacotes, basta você executar apt-get build-dep pacote, onde `pacote' é o nome do pacote que você vai construir. Por exemplo:
# apt-get build-dep gmc
Reading Package Lists... Done
Building Dependency Tree... Done
The following NEW packages will be installed:
comerr-dev e2fslibs-dev gdk-imlib-dev imlib-progs libgnome-dev libgnorba-dev
libgpmg1-dev
0 packages upgraded, 7 newly installed, 0 to remove and 1 not upgraded.
Need to get 1069kB of archives. After unpacking 3514kB will be used.
Do you want to continue? [Y/n]
Os pacotes que serão instalados são os pacotes dos quais o programa gmc necessita para se construir perfeitamente. É importante notar que esse comando não busca o pacote fonte do programa a ser compilado. Assim, você deve rodar o apt-get source separadamente para obtê-lo.
Para apenas ver quais pacotes são necessários para a compilação de determinado pacote existe uma variante do comando apt-cache show (veja Obtendo informações sobre os pacotes., Capítulo 5), que irá mostrar, entre outras informações, a linha Build-Depends que lista esses pacotes:
# apt-cache showsrc pacote

0 comentários:

Postar um comentário