Criando pacotes no Slackware
Esse artigo tem como finalidade mostrar como é fácil criar o seu próprio pacote tgz, desta forma você pode manter o seu sistema bem mais organizado e controlando os pacotes existentes nele, podendo removê-los ou reinstalá-los quando precisar.
Parte 2: Compilando
Essa primeira etapa você pode executar como usuário comum, não
use o usuário root em vão.
Primeiro iremos descomprimir o código fonte, costumo usar a pasta ~/src, mas você pode fazer isso em qualquer pasta da sua máquina.
$ mkdir ~/src
$ tar zxvf programa.tar.gz
$ tar jxvf programa.tar.bz2
$ cd programa-versão
OBS: Note que o primeiro comando é para arquivo com final "gz" e o segundo para "bz2". Você pode fornecer o caminho completo do programa ou fazer o download dele dentro da pasta ~/src.
Todos os tutoriais na internet indicam a famosa seqüência de comandos:
# ./configure && make && make install
Mas o que elas não explicam é que dessa forma seu programa será instalado no lugar errado, já vi muitos programas reclamarem de dependências faltando, mesmo elas estando instaladas, porém o programa estava na pasta /usr/local e quando instalei o programa na pasta /usr o problema foi resolvido.
O comando ficaria assim:
# ./configure --prefix=/usr --sysconfdir=/etc
Vou explicar as opções:
Existem mais três opções opcionais, são referentes a arquitetura do seu sistema. Como todos sabem, o Slackware é compilado para 486, isso não tem nenhum problema, você pode compilar pro seu processador, mas caso você esteja compilando um programa para outra máquina é bom que você mantenha ela compilada para 486, mantendo assim maior compatibilidade.
# ./configure --prefix=/usr --sysconfdir=/etc --build=i486-slackware-linux --host=i486-slackware-linux --target=i486-slackware-linux
Não esqueça de ver mais configurações que normalmente são fornecidas nos arquivos README, INSTALL ou dentro do configure. Alguns programas possuem recursos extras que são desabilitados por padrão, caso queira usar, precisa saber como ele é habilitado, um exemplo é o mplayer que se você compilar normalmente vem sem interface gráfica, você precisa incluir --enable-gui no comando para que ele instale também sua interface gráfica.
# ./configure --help | less
Após isso rode o comando que irá construir os binários:
# make
Pronto, agora vamos para a parte de criação do pacote.
Primeiro iremos descomprimir o código fonte, costumo usar a pasta ~/src, mas você pode fazer isso em qualquer pasta da sua máquina.
$ mkdir ~/src
$ tar zxvf programa.tar.gz
$ tar jxvf programa.tar.bz2
$ cd programa-versão
OBS: Note que o primeiro comando é para arquivo com final "gz" e o segundo para "bz2". Você pode fornecer o caminho completo do programa ou fazer o download dele dentro da pasta ~/src.
Todos os tutoriais na internet indicam a famosa seqüência de comandos:
# ./configure && make && make install
Mas o que elas não explicam é que dessa forma seu programa será instalado no lugar errado, já vi muitos programas reclamarem de dependências faltando, mesmo elas estando instaladas, porém o programa estava na pasta /usr/local e quando instalei o programa na pasta /usr o problema foi resolvido.
O comando ficaria assim:
# ./configure --prefix=/usr --sysconfdir=/etc
Vou explicar as opções:
- --prefix=/usr - com isso seus binários serão instalados
na pasta /usr/bin, bibliotecas serão instaladas em
/usr/lib e os arquivos de desenvolvimento em
/usr/include. Essa é a localização correta para os
arquivos.
- --sysconfdir=/etc - aqui temos um grande equívoco, pois sem essa opção todas as configurações do seu programa, caso existam, serão instaladas em /usr/local/etc, isso é inadmissível, visto que todos os programas usam a pasta padrão /etc. Gera uma certa bagunça na sua máquina.
Existem mais três opções opcionais, são referentes a arquitetura do seu sistema. Como todos sabem, o Slackware é compilado para 486, isso não tem nenhum problema, você pode compilar pro seu processador, mas caso você esteja compilando um programa para outra máquina é bom que você mantenha ela compilada para 486, mantendo assim maior compatibilidade.
# ./configure --prefix=/usr --sysconfdir=/etc --build=i486-slackware-linux --host=i486-slackware-linux --target=i486-slackware-linux
Não esqueça de ver mais configurações que normalmente são fornecidas nos arquivos README, INSTALL ou dentro do configure. Alguns programas possuem recursos extras que são desabilitados por padrão, caso queira usar, precisa saber como ele é habilitado, um exemplo é o mplayer que se você compilar normalmente vem sem interface gráfica, você precisa incluir --enable-gui no comando para que ele instale também sua interface gráfica.
# ./configure --help | less
Após isso rode o comando que irá construir os binários:
# make
Pronto, agora vamos para a parte de criação do pacote.
muito legal seu artigo!
[]'s