Como Funciona a Resolução de Dependências no Gslapt

Sei que a maioria das pessoas que usam o Slackware, não quer instalar pacotes já prontos, quer compilar. Mas para quem não quer ficar compilando, existem repositórios que permitem que o slapt-get resolvam suas dependências. Aqui explicarei superficialmente, porque a resolução de dependências não funcionam com todos os repositórios, mesmo usando o slapt-get e o gslapt.

[ Hits: 2.259 ]

Por: Mauricio Ferrari em 07/09/2020 | Blog: https://www.youtube.com/@LinuxDicasPro


Introdução



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":
Linux: Como funciona a Resolução de Dependências no Gslapt
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:
Linux: Como funciona a Resolução de Dependências no Gslapt
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:
Linux: Como funciona a Resolução de Dependências no Gslapt
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.
Linux: Como funciona a Resolução de Dependências no Gslapt
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

   

Páginas do artigo
   1. Introdução
Outros artigos deste autor

Instalar LibreOffice 7.0 no Slackware Current

Instalando MultiLIB no Slackware 14.2 com Atualizações pelo GSlapt

LXDE Desktop no Slackware

Fazendo o Mate Terminal iniciar sem a Barra de Menu

Compilando o QMPlay2 20.07.04 no Linux Mint 20 e Gerando o Pacote para Instalar

Leitura recomendada

Vamos testar esse tal de Linux?

A Origem dos Nomes

Netstat a fundo (parte 1)

Servidor Messenger Openfire passo-a-passo no Linux

Instalando o KBFX e mudando a imagem do Menu K de uma vez por todas

  
Comentários
[1] Comentário enviado por removido em 07/09/2020 - 21:41h

Bom, quando utilizava Slackware, eu tinha apenas o slackpkg plus e o sbopkg (não sei se ainda existe) instalado na máquina.

Nunca usei e nunca recomendei o slapt-get, e por motivos óbvios: é um gerenciador que tenta imitar um outro gerenciador para solucionar um problema que não é do Slackware. Slackware foi feito sem gerenciador de dependências, e foi feito assim para dar mais controle aos seus usuários.

Quanto a compilação, leva muito tempo, mas é o modo Slackware de se fazer as coisas. O SlackBuild é uma mão na roda e é mais do que o suficiente para o que o Slackware oferece.

Lembrando que o Slackware segue o princípio KISS, e por isso muitas coisas no sistema são feitas ao modo DIY: faça você mesmo.

Se quiser algo mais automatizado e com mais pacotes prontos, recomendo dar uma olhada no Arch Linux: na prática é um slackware com gerenciador de dependências e com muito mais pacotes...

[2] Comentário enviado por maurixnovatrento em 08/09/2020 - 21:52h


O Gslapt é bastante funcional para o Slackware stable. E mesmo não parecendo, ainda que o gslapt tenta automatizar o processo, ainda assim, requer intervenção manual para resolver algumas dependências, dependendo do tipo do diretório e é claro que ainda assim, as vezes, compensa compilar alguma coisa. O slackware me proporcionou instalar quase tudo o que eu queria de forma mais estável e agora com novas ideias e usando o Stable, vou ampliar essa capacidade mais facilmente e aproveitando a estabilidade do sistema.

___________________________________________________________
[code]Conhecimento não se Leva para o Túmulo.
https://github.com/MauricioFerrari-NovaTrento [/code]

[3] Comentário enviado por annakamilla em 13/09/2020 - 18:27h


[2] Comentário enviado por mauricio123 em 08/09/2020 - 21:52h


O Gslapt é bastante funcional para o Slackware stable. E mesmo não parecendo, ainda que o gslapt tenta automatizar o processo, ainda assim, requer intervenção manual para resolver algumas dependências, dependendo do tipo do diretório e é claro que ainda assim, as vezes, compensa compilar alguma coisa. O slackware me proporcionou instalar quase tudo o que eu queria de forma mais estável e agora com novas ideias e usando o Stable, vou ampliar essa capacidade mais facilmente e aproveitando a estabilidade do sistema.

___________________________________________________________
[code]Conhecimento não se Leva para o Túmulo.
https://github.com/MauricioFerrari-NovaTrento [/code]

mas o nov slack ainda não saiu ? qual versão vocês estão usando ?

[4] Comentário enviado por maurixnovatrento em 13/09/2020 - 20:42h


Eu tentei o current, mas tive problemas com o KDE 5. Eu vou esperar a nova versão.

___________________________________________________________
[code]Conhecimento não se Leva para o Túmulo.
https://github.com/MauricioFerrari-NovaTrento [/code]

[5] Comentário enviado por removido em 13/09/2020 - 23:04h


mas o nov slack ainda não saiu ? qual versão vocês estão usando ?


Não uso Slackware, e talvez - somente talvez - acredito que o Slackware vai se manter sempre na current... esse é o lançamento mais demorado e pelo visto não há informações de quando será lançada a próxima versão... visto que o KDE 5 ainda nem entrou na árvore de pacotes, e muito provavelmente eles não vão lançar uma nova versão do Slackware ainda com KDE 4...

[6] Comentário enviado por maurixnovatrento em 13/09/2020 - 23:39h


Aí seria um absurdo mesmo. Que atualizassem o KDE senão vou abandonar.

___________________________________________________________
[code]Conhecimento não se Leva para o Túmulo.
https://github.com/MauricioFerrari-NovaTrento [/code]

[7] Comentário enviado por removido em 14/09/2020 - 09:19h

Aí seria um absurdo mesmo. Que atualizassem o KDE senão vou abandonar.


Honestamente, acho mais fácil eles removerem o KDE4 da próxima versão e deixar o Xfce como "principal"... já se passaram muitos anos desde que o KDE5 foi lançado, e aparentemente já se fala em KDE 6:
https://sempreupdate.com.br/avancam-trabalhos-em-torno-do-novo-kde-6/

Quando lançou o KDE4, o Slackware foi uma das primeiras distros a incluir na versão stable. Isso lá por 2009-2010, quando eu ainda usava. Não sei exatamente qual o problema da demora em tirar fora o KDE4 e incluir o KDE5... na minha visão, percebo que essa mudança vai dar muito trabalho e me parece que o Slackware não anda bem das pernas (financeiramente falando).

Por isso, se vc espera novidades e uma distro mais completa, recomendo pensar em uma alternativa desde já. O Void Linux me parece ser uma alternativa elegante, já que não utiliza systemd (igual o Slackware). Ou vc pode dar uma olhada também em outras distros source-based, como o Gentoo e Funtoo (onde o systemd é opcional).

[8] Comentário enviado por maurixnovatrento em 14/09/2020 - 20:09h


E o que você me diz do arch? é uma opção?

___________________________________________________________
[code]Conhecimento não se Leva para o Túmulo.
https://github.com/MauricioFerrari-NovaTrento [/code]

[9] Comentário enviado por removido em 14/09/2020 - 20:52h

E o que você me diz do arch? é uma opção?


É uma ótima opção também. Tem muito mais pacotes prontos nos repositórios, e o que não tem lá tem no AUR.

Pense no AUR como se fosse todos os PPAs do Ubuntu, mas a inteira disposição para o Arch. O AUR é bem semelhante ao SlackBuilds, porém com mais recursos. Inclusive, vc pode pegar pacotes oficiais e recompilar para a sua máquina (assim como os SlackBuilds presentes no DVD do Slackware) através do ABS (Arch Build System).

Outro ponto positivo é o wiki do Arch: existe tudo lá.

Na minha opinião, o único ponto negativo é ter que atualizar o sistema toda semana... por ser roling release, vc vai ter que ter um cuidado maior na hora de atualizar os pacotes. É mais ou menos como no Slackware current, porém com mais cuidados. O ideal é ficar de olho no site oficial do arch toda vez que ocorrer alguma atualização da categoria core.

Por fim, o Arch também segue o princípio KISS (assim como o Slackware). Ou seja, o Arch e o Slackware são bem semelhantes...

[10] Comentário enviado por maurixnovatrento em 14/09/2020 - 21:13h


Se eu optar por uma alternativa, pode ser que eu opte por ele.

___________________________________________________________
[code]Conhecimento não se Leva para o Túmulo.
https://github.com/MauricioFerrari-NovaTrento [/code]

[11] Comentário enviado por leoCCB em 21/09/2020 - 21:49h

Eu tinha pira em compilar, mas aconteceu o seguinte: Fiquei horas compilando o libreoffice, e quando clicava com o mouse, ele meio que travava, davas umas piscadas, ficava estranho. Aí instalei do repositório slonly (se não me engano) e ficou muuiiito melhor. Não sei se faltou algum parâmetro, um biblioteca, mas não teve aviso nenhum.

[12] Comentário enviado por maurixnovatrento em 21/09/2020 - 22:48h


É como eu disse, nem sempre compensa compilar.

___________________________________________________________
[code]Conhecimento não se Leva para o Túmulo.
https://github.com/MauricioFerrari-NovaTrento [/code]

[13] Comentário enviado por gorodaimonx em 04/08/2023 - 17:40h

É por isso que gosto do Linux. É porque ele não tem padrão. Por mais que tenha gente que ache que tem que RESOLVER dependências, o slapt-get cada dia mais terá mais adeptos e acredito que no futuro resolverá todas as dependências.

Quando o Patrick morrer, será que criarão uma distro com a mesma filosofia do Slackware, só que com outro nome?

Ainda bem que eu escolho o que quero fazer em qualquer distro que eu use.

Viva o slapt-get!

[14] Comentário enviado por maurixnovatrento em 14/08/2023 - 12:26h


[13] Comentário enviado por gorodaimonx em 04/08/2023 - 17:40h

É por isso que gosto do Linux. É porque ele não tem padrão. Por mais que tenha gente que ache que tem que RESOLVER dependências, o slapt-get cada dia mais terá mais adeptos e acredito que no futuro resolverá todas as dependências.

Quando o Patrick morrer, será que criarão uma distro com a mesma filosofia do Slackware, só que com outro nome?

Ainda bem que eu escolho o que quero fazer em qualquer distro que eu use.

Viva o slapt-get!


Falou tudo, o diferencial do Linux é não ter um padrão.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts