Criando pequenos pacotes TGZ

Publicado por Victor Guimarães Nunes em 15/08/2007

[ Hits: 10.618 ]

 


Criando pequenos pacotes TGZ



Quem usa Slackware sabe como é chato nunca encontrar softwares com pacotes próprios para sua distro (tgz). Sempre é a mesma coisa... versões disponíveis: (.rpm), (.deb), (.tar.gz). E a gente acaba sempre tendo que compilar o programa, o que além de demorar muito mais, dificulta a remoção do programa caso este não atenda as nossas necessidades.

Por isto nesta dica irei demonstrar uma forma fácil de criar seus próprios pacotes sem dor de cabeça.

Obs.: A intenção desta dica não é criar pacotes Slackware de softwares de grande porte, mas sim de pequenas aplicações de sua própria autoria, já que seria necessário muito mais explanação, pois o processo é um pouco mais complicado.

O Slackware vem com uma ferramenta já instalada para criar pacotes que chama-se makepkg. Ela é útil, mas usar apenas ela causa alguns certos problemas, por isso junto a ela usaremos uma outra ferramenta que se chama checkinstall.

Você pode baixar o checkinstall a partir desde link:
Explicarei por que usaremos o checkinstall e o makepkg. A descrição do pacote .tgz que aparece quando o pacote é instalado deve ser criada em codificação UTF-8 e obedecer a uma série de parâmetros. Poderíamos fazê-lo manualmente, mas o checkinstall faz isso por nós.

Ok, crie uma pasta onde você colocará o seu projeto. Dentro desta pasta crie uma árvore de diretórios semelhante a do Linux... por exemplo, se o seu programa será instalado em /usr/bin a sua árvore será:

# mkdir diretoriocriado/usr/bin/exeprojeto

Feito isso crie uma pasta chamada install no seu diretório criado:

# mkdir diretoriocriado/install

Dentro do diretório criado, execute o comando:

# checkinstall -S --pkgname=nomedepacote --pkgversion=versao --pkgarch=arquiteturacompilada

Feito isso o checkinstall criará um editor para você digitar a descrição do seu pacote, esse editor sairá assim que você deixar uma linha em branco ou pressionar CTRL+D.

>>NomedoPrograma - O que o Programa Faz
>>várias
>>linhas
>>de
>>descrição

Feito isso o checkinstall pedirá para você verificar as suas configurações do pacote e criará um pacote.

Aqui está o X da questão, o checkinstall, pelo menos comigo, não cria a arvore de diretórios corretamente e o pacote fica defeituoso. Para solucionar isso:

# tar -xzvf nomedopacote-versao-arch-1.tgz

Extrairemos o pacote tgz criado para que os arquivos doinst.sh e slack-desc criados pelo checkinstall sejam aproveitados.

O arquivo doinst.sh muda permissões, cria links simbólicos e seta variáveis ao instalar o programa (se necessário).

O arquivo slack-desc é a descrição do pacote tgz digitada no editor do checkinstall

Esses dois arquivos ficam localizados dentro da pasta install.

Terminando de extrair o pacote, remova o arquivo .tgz e um arquivo description-pak criado pelo checkinstall. Feito isso execute o comando:

# makepkg nomedoprograma-versao-arch.tgz

Pronto, seu pacote será criado e estará pronto para usar!

Outras dicas deste autor

Configurando webcam Omnivision 2640 (Dell Inspiron 1525 Integrated Webcam) no Slackware 12.2

Converter WMA para MP3 no shell do Linux

Integrando agenda do jSMS do Linux e do Windows

Mercury + Audacious (usando plugin do XMMS)

Gerenciador de redes wireless no Slackware Linux

Leitura recomendada

strip: diminuindo o tamanho dos programas compilados

Usos reais para um velho 386

Mintmenu no Arch Linux

Extraindo informações do Oracle Database com logstash

Assistindo vídeo 360 no Linux

  

Comentários
[1] Comentário enviado por ftonello em 15/08/2007 - 09:47h

legal, gostei muito da dica! valeu

parabéns!

[2] Comentário enviado por cvs em 05/10/2007 - 11:54h

ajudou bastante... heheheh

valeu



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts