janeiro 10, 2011

Criando um pacote deb

Um pacote deb serve para instalar programas, bibliotecas, etc em uma distribuição como debian e ubuntu.

Eu vou criar um para a instalação de uma biblioteca.

Primeiro passo, ter o código fonte do compilando sem erros, não queremos que de algum problema na criação do deb por erros do programa.

Devemos agora criar um diretório para que a estrutura do pacote seja montada. Este diretório pode estar na mesma pasta do código fonte ou em uma pasta temporária. Vou chamar este diretório de "install".
Dentro deste diretório devemos ter uma pasta cujo nome deve ser obrigatóriamente "DEBIAN", em maiúsculo.
mkdir <dir_src>/install/DEBIAN
Dentro da pasta DEBIAN vamos criar um arquivo chamado "control". Este arquivo traz informações como nome e versão do pacote, nome do mantenedor, dependências, descrições entre outras características.
O conteúdo deste arquivo é simples, sendo que os campos Package, Version, Architecture, Maintainer e Description são obrigatórios.
Package: libcalcula
Version: 1.0.2
Maintainer: Luiz
Architecture: i386
Description: Ferramenta para calcular alguns numeros

Com este arquivo pronto, o próximo passo é a criação da estrutura do nosso pacote.
Como vou colocar uma biblioteca no sistema, o arquivo destino dela sera /usr/lib/calcula.
A árvore a ser criada no diretório "install" deve conter todo o caminho para o diretório onde a biblioteca deve ser instalada. Então irei digitar o comando a seguir, criando a estrutura dos diretórios.
mkdir -p /usr/lib/calcula

Após a criação da árvore, vamos copiar os arquivos necessários (a biblioteca em si) para dentro dela.
A seguir podemos inserir o comando que vai efetivamente criar o pacote.
dpkg-deb -b /home/luiz/srccalcula /home/luiz
O primeiro caminho deve ser um caminho absoluto, já o segundo não precisa ser.
Após o comando ser executado, temos dentro do diretorio /home/luiz um arquivo chamado libcalcula_1.0.2_i386.deb.

Pronto, você já criou seu pacote deb, para instalar ele vc precisa somente do comando
dpkg -i <nome_do_pacote>

Caso você queira desmontar e analizar um pacote pronto, como é a estrutura, como foi modificado o arquivo contorl, pode utilizar os seguintes comandos:
Para extrair para uma pasta
dpkg-deb -x <nome_do_pacote.deb>  /tmp/pacote
Para extrair o arquivo de controle
dpkg-deb -e <nome_do_pacote.deb>  /tmp/pacote/DEBIAN

Nenhum comentário:

Postar um comentário