Criando pequenos pacotes TGZ

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

[ Hits: 10.623 ]

 


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

Como usar o jSMS direto do pen drive

Mercury + Audacious (usando plugin do XMMS)

Gerenciador de redes wireless no Slackware Linux

Turbinando o seu Firefox

Simplificando o uso do jSMS no Linux

Leitura recomendada

Mais uma distro minimalista: BLUEFLOPS

Curso online de Linux

Blog oficial do Linus Torvalds

SYLLABLE: Linux para micros (razoavelmente) antigos

strip: diminuindo o tamanho dos programas compilados

  

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