Criando pacotes no Slackware Linux
Rápido e objetivo: neste artigo abordarei as formas de criar pacotes para o Slackware Linux.
Introdução - uma breve geral no sistema de pacotes do Slackware
Comandos para manipulação de pacotes:
installpkg - Nome auto-descritivo: instala pacotes, um ou mais.
Exemplos de uso:
# installpkg mozilla-firefox-2.0.0.14-i686-1.tgz
# installpkg compiz-0.7.4-i486.tgz compiz-fusion-plugins*.tgz emerald-0.7.4-i686-1_SBo.tgz
Deve-se oferecer o caminho completo para o(s) pacote(s) em questão. Nos exemplos acima assumimos que estamos no diretório onde estes se encontrão. Se não fosse este o caso eu teria de fazer:
# installpkg /caminho/para/o/pacote.tgz
Como, só para exemplificar:
# installpkg /home/xico/downloads/firefox*.tgz
removepkg - Novamente, ele se auto-descreve: remove pacotes instalados.
A lista de pacotes instalados no sistema encontra-se em /var/log/packages. Para o uso do removepkg, qualquer das sintaxes abaixo são suportadas:
# removepkg mozilla-firefox-2.0.0.14-i686-1.tgz
# removepkg mozilla-firefox-2.0.14-i686-1
# removepkg mozilla-firefox.tgz
# removepkg mozilla-firefox
Mas, é claro dentro de /var/log/packages!
upgradepkg - Assim fica fácil, com estes nomes sem criatividade... :-) Atualiza pacotes.
A sintaxe é similar a do installpkg. Embora este não seja o escopo deste artigo, mas sempre que atualizar um pacote dê uma olhada no diretório /etc à procura de novos arquivos de configuração (.new).
explodepkg - O que que é isto? Explodir pacotes!?
Na verdade, este comando extraí o conteúdo de um pacote no diretório atual.
Exemplo de uso:
# explodepkg audacious-1.5.0-i486-2.tgz
makepkg - Cria um pacote.
O pacote é construído usando o conteúdo do diretório atual e todos os subdiretórios recursivamente. Ele procurará o script de instalação em primeiro lugar (install/doinst.sh) e (ou), se este não existir, será criado com o conteúdo do diretório. O nome completo do pacote (inclusive a extensão) deverá ser oferecido como parâmetro.
Por falar nisto, esta é a atribuição completa de um pacote Slackware:
[PACOTE]-[VERSÃO]-[ARQUITETURA]-[CONSTRUÇÃO].tgz
E ele é constituído de dois diretórios: install e usr.
Em install estão contidos o script de instalação e um arquivo que descreve o pacote.
O diretório usr contém os arquivos a serem instalados.
Depois destas explicações básicas, passemos a descrever as duas formas de criar um pacote Slackware a partir dos fontes.
installpkg - Nome auto-descritivo: instala pacotes, um ou mais.
Exemplos de uso:
# installpkg mozilla-firefox-2.0.0.14-i686-1.tgz
# installpkg compiz-0.7.4-i486.tgz compiz-fusion-plugins*.tgz emerald-0.7.4-i686-1_SBo.tgz
Deve-se oferecer o caminho completo para o(s) pacote(s) em questão. Nos exemplos acima assumimos que estamos no diretório onde estes se encontrão. Se não fosse este o caso eu teria de fazer:
# installpkg /caminho/para/o/pacote.tgz
Como, só para exemplificar:
# installpkg /home/xico/downloads/firefox*.tgz
removepkg - Novamente, ele se auto-descreve: remove pacotes instalados.
A lista de pacotes instalados no sistema encontra-se em /var/log/packages. Para o uso do removepkg, qualquer das sintaxes abaixo são suportadas:
# removepkg mozilla-firefox-2.0.0.14-i686-1.tgz
# removepkg mozilla-firefox-2.0.14-i686-1
# removepkg mozilla-firefox.tgz
# removepkg mozilla-firefox
Mas, é claro dentro de /var/log/packages!
upgradepkg - Assim fica fácil, com estes nomes sem criatividade... :-) Atualiza pacotes.
A sintaxe é similar a do installpkg. Embora este não seja o escopo deste artigo, mas sempre que atualizar um pacote dê uma olhada no diretório /etc à procura de novos arquivos de configuração (.new).
explodepkg - O que que é isto? Explodir pacotes!?
Na verdade, este comando extraí o conteúdo de um pacote no diretório atual.
Exemplo de uso:
# explodepkg audacious-1.5.0-i486-2.tgz
makepkg - Cria um pacote.
O pacote é construído usando o conteúdo do diretório atual e todos os subdiretórios recursivamente. Ele procurará o script de instalação em primeiro lugar (install/doinst.sh) e (ou), se este não existir, será criado com o conteúdo do diretório. O nome completo do pacote (inclusive a extensão) deverá ser oferecido como parâmetro.
Por falar nisto, esta é a atribuição completa de um pacote Slackware:
[PACOTE]-[VERSÃO]-[ARQUITETURA]-[CONSTRUÇÃO].tgz
E ele é constituído de dois diretórios: install e usr.
Em install estão contidos o script de instalação e um arquivo que descreve o pacote.
O diretório usr contém os arquivos a serem instalados.
Depois destas explicações básicas, passemos a descrever as duas formas de criar um pacote Slackware a partir dos fontes.
Ótimo artigo!