quinta-feira, 22 de setembro de 2016

Instalando o editor de texto Xed no Slackware

O editor de texto Xed é um excelente editor gráfico de texto ASCII puro com vários recursos e que faz parte da distro Linux Mint 18 no qual veremos neste tutorial como instalar no Slackware 14.2.

O editor Xed possuir os seguintes recursos:

- documentes recentes
- verificação ortográfica utilizando o idioma do dicionário instalado no sistema, podendo  escolher outros se tiver mais de um.
- numeração das linhas
- destaque da linha atual
- estatística do documento
- permite escolher um tipo de fonte e tamanho (apenas pra efeito visual)
- esquema de cores
- utiliza o idioma do  seu sistema automaticamente para a linguagem do menu.
- inserir data e hora e podendo personalizar a mesma
- opção de imprimir e visualizar impressão
- preferencias do editor
- suporte a abas
- Salvar automaticamente após o tempo configurado

O editor Xed possuir ainda alguns outros recursos interessantes não citado aqui, sendo bem completo para um simples editor de texto ASCII.

As dependências completas deste editor que já vem instalado como padrão no Linux Mint 18 cujas as mesmas foram obtidas no sistema com o comando abaixo são:

$ apt-cache depends xed
xed
  Depende: iso-codes
  Depende: xed-common
  Depende: libatk1.0-0
  Depende: libc6
  Depende: libcairo2
  Depende: libenchant1c2a
  Depende: libgdk-pixbuf2.0-0
  Depende: libglib2.0-0
  Depende: libgtk-3-0
  Depende: libgtksourceview-3.0-1
  Depende: libice6
  Depende: libpango-1.0-0
  Depende: libsm6
  Depende: libx11-6
  Depende: libxml2
  Depende: zenity
    zenity:i386


Passos para instalação no Slackware 14.2

Abra uma janela de terminal e execute o comando abaixo.

$ git clone https://github.com/linuxmint/xed
$ cd xed/

Para podemos compilar o xed precisamos dos pacotes abaixo, que foram instalados via sbopkg devendo você ter o mesmo instalado no seu sistema.

$ sudo sbopkg -i gnome-common
$ sudo sbopkg -i yelp-xsl
$ sudo sbopkg -i yelp-tools
$ sudo sbopkg -i gtksourceview3

Após instaladas as dependências:

$ ./autogen.sh
$ make
$ sudo make install

Nota:
Dependendo do tipo de instalação que foi feita no seu Slackware, poderá haver outras dependências, além das citadas aqui, no meu sistema precisei somente destas que citei pra compilar o xed.


Onde fica instalado o xed no sistema ?

O xed fica instalado em  /usr/local/share/xed/ e o executavel fica em /usr/local/bin.


Dica:

Para a verificação ortográfica não começar sempre do começo do arquivo, selecione todos os parágrafos desejados com o mouse e escolha verificar ortografia.

O xed também tem o recurso verificar ortografia automaticamente, basta você ativar a mesma no menu Ferramentas/Verificar ortografia automaticamente. Quando aparecer uma palavra sublinhada em vermelho, clique com o mouse usando o botão direito sob a mesma e escolha Sugestões de ortografia...



quinta-feira, 8 de setembro de 2016

Solucionando dependências no Sbopkg

O sobpkg não instala as dependências de um pacote automaticamente por padrão mesmo sabendo quais são elas, pois a mesma está na base de dados do sbopkg mas somente para pacotes do Slackbuilds. Para não sofrer ter que instalar as dependências quando for acusado durante a compilação do programa pelo sbopkg, devemos utilizar o comando sqg que vem junto com o pacote do sbopkg responsável por baixar todas as dependências do programa que você especificou para instalar pelo sbopkg.


Passos para instalar o programa e suas dependências ser houver

Pesquise primeiro se o programa que você deseja baixar existe no Slackbuilds.

$ sudo sbopkg -g tuxkart
Searching for tuxkart
Found the following matches for tuxkart:
games/supertuxkart
games/tuxkart

No exemplo acima eu vou instalar o game supertuxkart, então devemos dizer ao sbopkg para baixar primeiro as dependências do pacote supertuxkart caso houver e somente depois é que será baixado o supertuxkart utilizando para isto o comando sqg que dirá ao sbopkg para baixar primeiro as dependências na ordem especificada por ele, devendo compila-las nesta ordem e somente depois baixar o programa especificado.

$ sudo sqg -p supertuxkart
Processing supertuxkart.
Done.

Pronto as dependências foram processadas, mas só por curiosidade vamos ver quais são elas antes de mandar instalar o pacote do game.

$ cat /var/lib/sbopkg/queues/supertuxkart.sqf 
OpenAL
supertuxkart

Vimos que o pacote supertuxkart tem apenas uma dependência que é o pacote OpenAL que será instalado automaticamente em primeiro lugar, sendo instalado por último o pacote do game.

Agora basta executar o sbopkg para instalar o supertuxkart sem erros de dependências na compilação do supertuxkart.

$ sudo sbopkg -i supertuxkart
Both a queuefile and a package were found with the name "supertuxkart".

Use (Q)ueuefile, (P)ackage, or (A)bort?: (tecle q)


###########################################
       New queue process started on:
       Seg Ago  8 17:27:52 BRT 2016
###########################################

+++++++++++++++++++++++++++++++++++++++++++
PRE-CHECK LOG
Using the SBo repository for Slackware 14.2
Queue Process:  Download, build, and install

OpenAL:
  Checking GPG for OpenAL.tar.gz ... OK
  Processing OpenAL 1.17.2-2
  Using original .info file
  Using original SlackBuild file
  No build options selected.

supertuxkart:
  Checking GPG for supertuxkart.tar.gz ... OK
  Processing supertuxkart 0.9.2-1
  Using original .info file
  Using original SlackBuild file
  No build options selected.

+++++++++++++++++++++++++++++++++++++++++++

Pre-check complete.

Do you wish to proceed based on the search results above? Packages not
found will be skipped during the process.

(P)roceed or (Q)uit?:    ( tecle p e  Enter)


Notas:
Se o pacote da dependência OpenAL já estiver instalado no sistema seja baixado de um repositório qualquer do Slackware pelo seu gerenciador de pacotes, baixado e instalado pelo navegador ou obtido o source diretamente da fonte o mesmo será igualmente baixado, compilado e instalado pelo sbopkg sobregravando todos os arquivos já existente deste pacote pois o mesmo não resolve dependências ele apenas usa uma lista do que é necessário para compilar o seu programa da base de dados dele, baixando todos os pacotes necessários para o mesmo.
Se mais tarde você desinstalar o game supertuxkart com o slapt-get ou qualquer outro gerenciador de pacotes ou usar o comando removepkg a dependência OpenAL continuara instalada já que a base de dados do sbopkg não é intergrada com a base de dados dos gerenciadores de pacotes do Slackware.

O sbopkg instalará todas as dependências na ordem exata que estiver listada no arquivo /var/lib/sbopkg/queues/nomedopacote.sqf antes do programa que foi especificado.

Quando não houver dependências para um pacote será retornado a seguinte mensagem abaixo:

$ sudo  sqg -p pcsc-lite
pcsc-lite: empty REQUIRES line. No queuefile generated.
Uncomment SKIP_EMPTY to change this.
Done.

Significa que não há dependências para o referido pacote, portanto não será criado o arquivo /var/lib/sbopkg/queues/pcsc-lite.sqf.


Instalando outros pacotes que tem a mesma dependência no sbopkg

Os games alienarena e assaultcube tem a dependência do pacote OpenAL que também foi a dependência do supertuxkart que já estão ambos instalado no sistema.


Para evitar que o sbopkg reinstale um pacote já instalado para acelerar a instalação dos outros pacotes, evitando com isto recompilações desnecessárias, devemos passar o parametro -k. 

$ sudo sbopkg -ki alienarena

Com isto o pacote OpenAL não será recompilado e reinstalado novamente no sistema deste que já existe o pacote baixado pelo sbopkg e o diretório do descompactamento do pacote OpenAL no seu sistema.

Caso você não usar o flag -k deste que você não tenha removido todo o conteudo de  /var/cache/sbopkg e /tmp/SBo/ para recuperar espaço em disco, o pacote OpenAL não será baixado pois já existe o arquivo do mesmo em /var/cache/sbopkg apenas será feita uma nova descompactação e recompilação deste pacote, lembrando que algumas compilações podem ser bastante demoradas mesmo para um pacote de 1 MB de tamanho ou menos e outras podem ser bem rápidas em um pacote que tenha o tamanho de 10 MB ou mais vai depender muito da complexidade e função deste pacote.

Evitando o regravação de pacotes já instalados no sistema e que não foram baixados os pacotes pelo sbopkg

Isto é muito importante se você instalou algum programa de um outro repositório diferente do padrão que vem no Slackware, de repositórios de terceiros e de outras fontes, pois a versão que você instalou para um programa tal funcionar, se a versão da lib for diferente do pacote do Slackbuilds este programa poderá não funcionar e talvez o programa que você baixar no  Slackbuilds também não funcione com esta versão já instalada mas ai é só testado mesmo para saber.

Você deve editar a fila manualmente entrando no diretório  /var/lib/sbopkg/queues/ e editar o arquivo que tenha o nome do pacote que você deseja baixar como exemplo alienarena.

$ cat alienarena.sqf 
ode
OpenAL (apague a linha do OpenAL, já que o mesmo está instalado no sistema)
alienarena

Com a linha OpenAL apagada, somente será baixado o pacote ode e o alienarena.


Rastreando todas dependências de uma vez, de todos os pacotes

# sqg -a

Este procedimento levou 40 minutos em uma cpu Phenom I de 2 Ghz e ficando no total  2388 arquivos de extensão sqf e totalizando 9,5 MB em /var/lib/sbopkg/queues 


Sobre os diretórios do sbopkg:

/var/cache/sbopkg = contem todos os pacotes source baixados pelo sbopkg que serão descompactados para posterior compilação

/tmp/SBo/ = fica todos os diretórios de todos os pacotes baixados que foram descompactados e onde será feita a compilação dos mesmos.

/tmp = é o onde fica todos os pacotes já compilados em formato tgz e que foram instalados automaticamente.

/var/lib/sbopkg/queues = diretório que armazena o arquivo com extensão sqf que tem o mesmo nome do pacote especificado ao sqg e dentro dentro dele os nomes de todas as dependências sendo uma por linha.
Para os pacotes que não haja dependências para compilar, não será gerado um arquivo de mesmo nome do pacote neste diretório.

/etc/sbopkg = armazena o arquivo de configuração sbopkg.conf e outros diretórios e arquivos.



Listando todos pacotes que foram instalados pelo sbopkg

$ sudo sbopkg -p | nl


Checando se os pacotes já instalados tem nova update no repositório


$ sudo sbopkg -c
[ Checking for potential updates ]
This may take a few moments. Press <ESC> to abort.
100%[========================================]
Listing installed SBo repository for Slackware 14.2 packages and flagging
potential updates...

conky:
  POTENTIAL UPDATE
  Installed version:  conky-1.9.0-i486-1_SBo  (versão instalada)
  Repo version:  conky-1.10.4-i486-1_SBo      (nova versão)
emerald-themes:
  POTENTIAL UPDATE
  Installed version:  emerald-themes-0.8.10-i486-1_SBo
  Repo version:  emerald-themes-0.8.12.1-i486-1_SBo
libbluray:
  POTENTIAL UPDATE
  Installed version:  libbluray-0.9.2-i486-2_SBo
  Repo version:  libbluray-0.9.3-i486-1_SBo
p7zip:
  POTENTIAL UPDATE
  Installed version:  p7zip-16.02-i486-1_SBo
  Repo version:  p7zip-16.02-i486-2_SBo

Potential update list complete.

O comando acima chega as novas updates feita no repositório listando o grupo, o nome do programa e a sua nova versão em relação a anterior.


Caso queira saber se existe uma nova versão apenas para um programa específico você pode fazer um filtro como no exemplo abaixo.

$ sudo sbopkg -c | grep -i conky
conky:
  Installed version:  conky-1.9.0-i486-1_SBo
  Repo version:  conky-1.10.4-i486-1_SBo