Este artigo descreve o uso do SlackPorts, uma coleção de ports para a distribuição Slackware Linux.
Por: Douglas Giorgio Fim
Introdução
Slackports nada mais é que ports para Slackware. Ports é um conjunto de diretórios organizados com seus respectivos scripts e Makefile, desenvolvido para automatizar a compilação e instalação de programas a partir do código-fonte.
Ports é muito comum em sistemas baseado em BSD, algumas distribuições Linux como Gentoo vem fazendo algo bem semelhante ao ports dos BSDs.
Slackports veio para dar um gosto de ports para os usuários da distribuição Slackware, contém os famosos scripts do SlackBuild.
Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...
No site diz "Website coming soon, be patience", ou seja, em breve terá um próprio site.
Obtendo e atualizando
O Slackports utiliza o svn para obter e atualizar toda a coleção.
Como diz o próprio site, o comando é esse:
# svn co Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar... /usr/slackports
Se observarmos no final do comando, temos o diretório /usr/slackports, ou seja, é nesse diretório onde está a coleção de ports.
Estrutura
A organização é simples e fácil de entender.
Dentro do diretório /usr/slackports temos alguns diretórios. Ex.:
/usr/slackports/audio
/usr/slackports/editors
/usr/slackports/games
/usr/slackports/video
/usr/slackports/www
/usr/slackports/x11
E muitos outros. Dentro desses diretórios temos outros diretórios com os nomes do programas:
/usr/slackports/audio/xmms
/usr/slackports/games/supertux
e muito mais.
O diretório /usr/slackports/distfiles armazena o código-fonte baixado, o pacote gerado e alguns diretórios para gerar o pacote.
Comandos
Para instalarmos o jogo supertux, temos que ir no seu diretório.
$ cd /usr/slackports/games/supertux
Para ver os parâmetros usados junto com o make, usaremos os seguinte comando:
# make help
o retorno é esse:
Basic slackports usage:
- all-in-one command (download build install clean-all):
make bundle
- to show dependencies (NO automatic resolution):
make deps
- to just download sources:
make download
- to build the package:
make build
- to install the package:
make install
- to remove the installed package:
make uninstall
- to clean up temp. build files:
make clean
- to clean up ALL package files:
make clean-all
Vamos ver com mais detalhes o que cada um deles fazem.
# make bundle
Como dizem, faz tudo, baixa, compila e gera um pacote, instala o pacote e limpa os arquivos temporários e os arquivos no diretório distfiles.
# make deps
Exibe as dependências.
# make download
Faz o download do código-fonte.
# make build
Compila e gera o pacote.
# make install
Instala o pacote gerado.
# make uninstall
Desinstala o pacote instalado.
# make clean
Limpa os arquivos temporários gerados no build.
# make clean-all
Faz o mesmo que o "make clean" e exclui os arquivos no diretório distfiles.
Temos também 2 comandos que não aparecem no "make help".
# make search name=programa
Serve para buscar a port desejada. Ex.:
# make search name=supertux
==> games/supertux
# make viewchanges
Na prática
Na prática temos algum problemas:
1. Quando interrompemos algum download, você não pode continuar, terá que limpar tudo "make clean-all" e começar novamente.
2. Alguns "todos" ports, como o supertux, é compilado somente para i486, dificultando a vida dos usuários que usam outra arquitetura. O responsável disso é a variável ARCH no script supertux.SlackBuild, mas esse problema pode ser resolvido declarando a variável junto com o comando. Ex.:
# make bundle ARCH=`arch`
3. Os pacotes são gerados em .tgz, isso é um problema para aqueles que gostam de armazenar os pacotes, e infelizmente não se pode resolver isso junto com o comando, somente alterando o script diretamente, nesse cado, terá que fazer algo semelhante ao passo 1 da dica Gerar pacotes .txz com Slackbuilds.
Terá que alterar o .tgz para .txz na última linha do script, isso acontece porque não existe a variável PKGTYPE no script igual os scripts originais do SlackBuilds, assim compilando diretamente em .tgz, mas se você não costuma armazenar seus pacotes, isso não será um problema.
4. O comando "make uninstall" parece não funcionar muito bem, terá que desinstalar o pacote do modo padrão do Slackware.
5. O Slackports não resolve dependências.
Finalizando
O Slackports não está tão maduro quanto os ports dos veteranos BSDs e problemas podem ser encontrados com frequência, mas nada impede de você alterar os scripts e aprimorar a sua necessidade.
Fonte: vivaolinux
Por: Douglas Giorgio Fim
Introdução
Slackports nada mais é que ports para Slackware. Ports é um conjunto de diretórios organizados com seus respectivos scripts e Makefile, desenvolvido para automatizar a compilação e instalação de programas a partir do código-fonte.
Ports é muito comum em sistemas baseado em BSD, algumas distribuições Linux como Gentoo vem fazendo algo bem semelhante ao ports dos BSDs.
Slackports veio para dar um gosto de ports para os usuários da distribuição Slackware, contém os famosos scripts do SlackBuild.
Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...
No site diz "Website coming soon, be patience", ou seja, em breve terá um próprio site.
Obtendo e atualizando
O Slackports utiliza o svn para obter e atualizar toda a coleção.
Como diz o próprio site, o comando é esse:
# svn co Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar... /usr/slackports
Se observarmos no final do comando, temos o diretório /usr/slackports, ou seja, é nesse diretório onde está a coleção de ports.
Estrutura
A organização é simples e fácil de entender.
Dentro do diretório /usr/slackports temos alguns diretórios. Ex.:
/usr/slackports/audio
/usr/slackports/editors
/usr/slackports/games
/usr/slackports/video
/usr/slackports/www
/usr/slackports/x11
E muitos outros. Dentro desses diretórios temos outros diretórios com os nomes do programas:
/usr/slackports/audio/xmms
/usr/slackports/games/supertux
e muito mais.
O diretório /usr/slackports/distfiles armazena o código-fonte baixado, o pacote gerado e alguns diretórios para gerar o pacote.
Comandos
Para instalarmos o jogo supertux, temos que ir no seu diretório.
$ cd /usr/slackports/games/supertux
Para ver os parâmetros usados junto com o make, usaremos os seguinte comando:
# make help
o retorno é esse:
Basic slackports usage:
- all-in-one command (download build install clean-all):
make bundle
- to show dependencies (NO automatic resolution):
make deps
- to just download sources:
make download
- to build the package:
make build
- to install the package:
make install
- to remove the installed package:
make uninstall
- to clean up temp. build files:
make clean
- to clean up ALL package files:
make clean-all
Vamos ver com mais detalhes o que cada um deles fazem.
# make bundle
Como dizem, faz tudo, baixa, compila e gera um pacote, instala o pacote e limpa os arquivos temporários e os arquivos no diretório distfiles.
# make deps
Exibe as dependências.
# make download
Faz o download do código-fonte.
# make build
Compila e gera o pacote.
# make install
Instala o pacote gerado.
# make uninstall
Desinstala o pacote instalado.
# make clean
Limpa os arquivos temporários gerados no build.
# make clean-all
Faz o mesmo que o "make clean" e exclui os arquivos no diretório distfiles.
Temos também 2 comandos que não aparecem no "make help".
# make search name=programa
Serve para buscar a port desejada. Ex.:
# make search name=supertux
==> games/supertux
# make viewchanges
Na prática
Na prática temos algum problemas:
1. Quando interrompemos algum download, você não pode continuar, terá que limpar tudo "make clean-all" e começar novamente.
2. Alguns "todos" ports, como o supertux, é compilado somente para i486, dificultando a vida dos usuários que usam outra arquitetura. O responsável disso é a variável ARCH no script supertux.SlackBuild, mas esse problema pode ser resolvido declarando a variável junto com o comando. Ex.:
# make bundle ARCH=`arch`
3. Os pacotes são gerados em .tgz, isso é um problema para aqueles que gostam de armazenar os pacotes, e infelizmente não se pode resolver isso junto com o comando, somente alterando o script diretamente, nesse cado, terá que fazer algo semelhante ao passo 1 da dica Gerar pacotes .txz com Slackbuilds.
Terá que alterar o .tgz para .txz na última linha do script, isso acontece porque não existe a variável PKGTYPE no script igual os scripts originais do SlackBuilds, assim compilando diretamente em .tgz, mas se você não costuma armazenar seus pacotes, isso não será um problema.
4. O comando "make uninstall" parece não funcionar muito bem, terá que desinstalar o pacote do modo padrão do Slackware.
5. O Slackports não resolve dependências.
Finalizando
O Slackports não está tão maduro quanto os ports dos veteranos BSDs e problemas podem ser encontrados com frequência, mas nada impede de você alterar os scripts e aprimorar a sua necessidade.
Fonte: vivaolinux
Comment