Com o novo PC e seu maior poder de processamento, tive a necessidade de encontrar uma ferramenta que fizesse um melhor trabalho na utilização desse “poder”, encontrei no slackrepo essa ferramenta 😉
O slackrepo bem que poderia ser chamado de slackbuilds massive builder, pois além de eficiente no cálculo de dependências é muitíssimo rápido quanto ao uso do hardware, às vezes até exagerando rsrs, vejam o tempo tomado para compilar o horroroso qt5… que no velho PC levava quase um dia, acho que nesse PC usando Sbopkg leva umas 3 horas ou mais, já usando o slackrepo: 1 hora e 7 minutos e com o sistema em uso!
Para instalar, sem tirar nem por execute o proposto na página do projeto:
# git clone https://github.com/idlemoor/slackrepo.git # cd slackrepo # gitrev=git$(git log -n 1 --format=format:%h .) # git archive --format=tar --prefix=slackrepo-$gitrev/ HEAD | gzip > SlackBuild/slackrepo-$gitrev.tar.gz # cd SlackBuild # VERSION=$gitrev TAG=_github sh ./slackrepo.SlackBuild # upgradepkg --install-new /tmp/slackrepo-$gitrev-noarch-1_github.t?z
Sincronizar/Atualizar os SlackBuilds.
Como o programa identifica corretamente qual a release utilizada, sincronize o repositório SlackBuilds com:
# slackrepo update Mas por conveniência e segurança percebi que usando a release estável é bem melhor usar o comando abaixo:
# slackrepo update --repo=SBo -v Isso evitará que utilize pacotes do repositório ponce, pacotes esses destinados ao Slackware Current, logo, se for esta a release que estiver utilizando, o slackrepo utilizará o repositório ponce como padrão, em vez do 14.2.
E convém relatar que nesse caso específico alguns SlackBuilds não mais serão encontrados pois já fazem parte da instalação padrão do Slackware Current e por consequência da próxima release estável, alguns exemplos: meson, libinput, libwacom, ffmpeg, lame, SDL2, entre outros.
Instalando programas.
Agora vamos a parte que interessa, a instalação de programas (nas imagens abaixo ainda estava usando o meu velho PC, logo as jobs do make estavam setadas automaticamente para -j2.
# slackrepo build --install pogo Se estiver usando o Slack 14.2, como já dito mais acima, utilize assim:
# slackrepo --repo=SBo -v build --install pogo * a opção -v é opcional!
Por padrão se já houverem pacotes instalados do repositório configurado, os mesmos serão checados quanto a atualizações (deles ou de suas dependências):

Removendo programas.
Agora vamos a parte que interessa, a instalação de programas (nas imagens abaixo ainda estava usando o meu velho PC, logo as jobs do make estavam setadas automaticamente para -j2.
# slackrepo remove --repo=SBo awesome-extra audioconvert fox-toolkit-devel # slackpkg remove awesome-extra audioconvert fox-toolkit-devel ou # removepkg awesome-extra audioconvert fox-toolkit-devel Assim o slackrepo removerá os pacotes de sua base de dados local (pacote criado e sources) e criará um backup disto tudo em /var/lib/slackrepo/SBo/backups/14.2/, assim se quiser reinstalá-los será bem mais rápido!
E os pacotes somente serão removidos ao utilizar o slackpkg ou o removepkg.
Ainda a respeito da remoção de pacotes, convém também avaliar o constante dos logs criados durante a instalação de cada pacote (os mesmos estarão em /var/log/slackrepo/{ponce,SBo}, procura esta destinada a remoção das dependências instaladas, como por exemplo no caso do pacote awesome-extra:
# cat /var/log/slackrepo/SBo/desktop/awesome-extra/build.log | less Building desktop/awesome-extra (add version 2018041201) 2018-09-30 22:04:32 Downloading source files ... Verifying source files ... Installing dependencies ... libxdg-basedir-1.2.0-x86_64-1_SBo is already installed lua-5.1.5-x86_64-1_SBo is already installed lgi-0.9.2-x86_64-1_SBo is already installed libxkbcommon-0.8.2-x86_64-1_SBo is already installed xcb-util-xrm-1.3-x86_64-1_SBo is already installed awesome-4.2-x86_64-1_SBo is already installed Running awesome-extra.SlackBuild ... eta ~22:05:?? env MAKEFLAGS='-j12 -l7' /usr/libexec/slackrepo/unbuffer nice -n 5 bash ./awesome-extra.SlackBuild awesome-extra-2018041201/ awesome-extra-2018041201/bashets/ awesome-extra-2018041201/bashets/bashets.lua awesome-extra-2018041201/bashets/bashets.lua.prev awesome-extra-2018041201/bashets/bashets.previous awesome-extra-2018041201/debian/ awesome-extra-2018041201/debian/changelog awesome-extra-2018041201/debian/clean awesome-extra-2018041201/debian/compat awesome-extra-2018041201/debian/control awesome-extra-2018041201/debian/copyright lines 1-23 Ficaram instalados alguns pacotes, dentre os quais somente o lua e o libxkbcommon sei que são necessários para alguns programas (conky, qt5, etc), pro caso dos demais basta seguir a regra proposta:
# slackrepo remove libxdg-basedir lgi xcb-util-xrm awesome # removepkg libxdg-basedir lgi xcb-util-xrm awesome Uma forma de descobrir se algum destes pacotes são depedências de outros instalados é procurando! rsrs
# grep lua /var/lib/slackrepo/SBo/slackbuilds/*/*/*.info No PC atual as configurações para compilação determinadas pelo programa são as seguintes:
env MAKEFLAGS = '- j12 -l7' nice -n 5 Você pode modificar a seu critério editando o arquivo /etc/slackrepo/slackrepo_SBo.conf ou copiando este mesmo arquivo para ~/.slackreporc.
Contras.
Eu só teria coisas positivas a dizer sobre o slackrepo, não fosse o fato do mesmo não ser sincronizado com a rapidez que o Sbopkg faz, vejam um exemplo de um update rodado hoje (20181013):
Enquanto isso, o Sbopkg já encontrou updates:
Além disso o programa não dispõe de uma opção básica como a de procura.
Para maiores detalhes acerca do uso do programa, use:
# man slackrepo # man slackrepo.conf # man slackrepo.hint Ou acesse a página de introdução do programa:
t+
Legal isso… vc usa para fazer pacotes para Slackware!
CurtirCurtir
Não, eu não uso o slackrepo para fazer pacotes para o Slackware. Uso-o para instalar pacotes do SlackBuilds, visto que ele resolve dependências com eficiência e inteligente uso do hardware.
Dá até para empacotar toda uma vasta categoria de softaware como em:
# slackrepo build –install academic
Ou todo o SlackBuilds (que requer mais ou menos 80GB de espaço) conforme a documentação.
Ainda não vi ferramenta mais eficiente do que esta. No Slack 14.2 uso o Sbopkg, aui no -current uso slackrepo.
CurtirCurtir
Esse site me salva há anos e sempre visito para tirar dúvidas…
CurtirCurtir
Olá, rapaz tá meio osso pra achar tempo pra outras coisas que não trabalho e família, por isso ele já vem parado a tanto tempo.
CurtirCurtir