Para quem não conhece, o
gslapt é uma interface para o slapt-get, que é um gerenciador de pacotes que imita o apt-get do Debian. Porém, ele vem com a promessa de ser uma alternativa para resolver dependências no Slackware de forma fácil e eficaz. Até foi por isso que resolvi testar o Salix, para ver essa ferramenta funciona e de fato resolvia.
Claro que posteriormente resolvi testar instalar no
Slackware Stable e usar o repositório do Salix para poder instalar os pacotes que eu queria sem a necessidade de compilar. No início até funcionou, até que resolvi testar outros repositórios. Percebi que nem todos os repositórios são processados como os repositórios do Salix. Alguns não resolviam dependências.
Vamos considerar que não estou dizendo que a ferramenta é ineficiente, pelo contrário, ela funciona. Mas é necessário que os mantenedores se eduquem em preparar os repositórios para essa ferramenta que já não é mais tão nova assim.
Analisando os Pacotes do Slackware
Antes de mais nada, vamos fazer uma comparação do
slapt-get com o
apt-get. O apt-get, só resolve dependências, porque observando a estrutura do arquivo "control", você percebe uma linha começando com Depends, dentre outras linhas.
Se o slapt-get foi pensado para agir como o apt-get ele vai ter que utilizar-se de alguma coisa para poder fazer a mágica da resolução de dependências. Isso soa bem óbvio. Mas afinal, o que ele usa para isso?
Agora é que começamos a análise. Vamos pegar um pacote, como o do htop, e analisarmos o que é possível de se observar no diretório "install":
Nada de mais. Só o arquivo "slack-desc" e o "doinst.sh", nesse caso. Agora vamos pegar um pacote de um repositório em que o
Glapt, ou o
slapt-get, consegue fazer a resolução das dependências:
Bom, já vimos que a resolução de dependências não é feita por aqui. Mas então, de onde é feita a resolução de dependências? Pesquisando na internet, encontrei uma pista. As dependências podem ser incluídas no próprio arquivo "PACKAGES.TXT", não precisando de qualquer alteração no pacote.
Analisando o arquivo "PACKAGES.TXT" de alguns repositórios, tive uma surpresa:
Aqui, o arquivo possui o campo para isso, mas o mantenedor não se deu ao luxo de colocar as dependências para facilitar a vida do usuário.
Já aqui, as dependências foram inseridas nos pacotes conforme a necessidade. Pronto, resolvemos o mistério da resolução de dependências do slapt-get e do gslapt também.
Conclusão
Vamos começar pelas críticas construtivas. Os mantenedores devem se dedicar um pouco mais e, ao menos, preencher o campo das dependências para que o repositórios dos mesmos fiquem mais funcionais e usáveis. Tudo bem que o
Slackware não é para iniciantes, mas fica bem mais fácil para quem quiser iniciar no Slackware, para usá-lo apenas por motivos de estabilidade, por exemplo. O que eu testei com essas propriedades são dois: Os repositórios Ponce e SlackOnly, até o presente momento.
Já por outro lado, já tem repositórios que estão preparados para isso, além dos repositórios do Salix. Esses consequentemente, devem continuar evoluindo o nível de organização que já é satisfatório e trabalhar para abranger mais variedades de pacotes para seus repositórios. Os repositórios que eu testei com essas propriedades são: Os repositórios Slackel e Alien hospedado no Slackware.uk, que foi o que eu testei.
Há aqueles que vão dizer que no Slackware tem que compilar os pacotes mesmo. Mas tem aqueles que podem preferir os pacotes já prontos para instalar. Eu mesmo já usei muito Slackbuilds, mas me beneficiei muito com os repositórios. Os repositórios podem ser bem interessantes em casos em que chega a doer os olhos de tantas dependências que um pacote pode ter. Claro que isso não é problema para quem usa o sbopkg.
Por fim, compilações tendem a demorar muito e se você não se importa com o ganho de performance com a prática de compilar, esses repositórios podem significar um ganho de tempo na instalação de um programa ou recurso.
Comentem aí, quem usa Slackware, o que pensam sobre isso. Se é melhor compilar mesmo ou se esses recursos ajudam. Pós e contras, benefícios, problemas e por aí vai.
Fonte:
Slackware: conceitos básicos de slapt-get