Mining Bits and Knowledge
Usando o vABS Para Instalar o Wine 1.3.24
| This post is also available in English |
Recentemente nosso colega Estêvão Valadão lançou o vABS (Versioned Arch Build System), um complemento do ABS que tem como principal objetivo possibilitar a compilação e instalação de versões antigas de programas no Arch Linux.
Antes de entendermos como o vABS funciona, precisamos entender como o ABS funciona.
O Que é o ABS
O ABS, acrônimo para Arch Build System, é um sistema ports-like para construção e empacotamento de software à partir do código fonte. Ao dizer ports-like, estou querendo dizer que ele é baseado e inspirado no sistema ports, uma ferramenta que automatiza o processo de compilação de código fonte em sistemas BSD, e utiliza a mesma lógica (baixar, desempacotar, aplicar patch, compilar e instalar), onde todo o processo é baseado nas orientações de pequenos scripts, chamados de PKGBUILDs.
No Arch, o ABS armazena uma árvore de diretórios contento os PKGBUILDs no diretório /var/abs. Para compilar o código fonte utilizando as instruções do PKGBUILD basta utilizar o comando makepkg. Logo após a compilação do código fonte, será gerado um pacote compilado com a extensão .pkg.tar.gz. E para instalar, é fácil! Você só precisa do pacman, a ferramenta oficial do Arch Linux para gerenciamento de pacotes binários.
Na teoria parece ser muito complicado, mas na prática é tudo muito simples. Com os exemplos tudo ficará claro.
Utilizando o ABS
Antes de qualquer coisa, para utilizar o ABS é necessário que o próprio ABS e o pacote base-devel do sistema (que contém o programa makepkg) já esteja instalado em seu sistema. Para isso utilize a seguinte linha de comando abaixo:
$ sudo pacman -S abs base-devel
Após concluir a instalação, vamos atualizar nossa árvore do ABS com o comando abs:
$ sudo abs
Em seguida vamos procurar a pasta do programa que pretendemos instalar. Como exemplo, vamos utilizar o ABS para instalar o Wine versão 1.3.25, desta forma vamos entrar no seguinte diretório com o comando abaixo:
$ cd /var/abs/community/
E efetuar a busca pelo pacote:
$ ls | grep wine q4wine wine winefish winegame wine_gecko winestuff winetricks
Ok, encontramos a pasta. Agora vamos copiá-la para o diretório raiz do nosso usuário criando uma nova pasta chamada wine:
$ cp -R wine ~/wine $ cd ~/wine $ ls PKGBUILD wine.install
Agora vamos executar o comando makepkg:
$ makepkg
Não se assustem, o processo é um pouco demorado e gera bastante informação da saída, afinal ele está compilando o código fonte do Wine. Quando tudo terminar teremos o pacote .pkg.tar.xz compilado e pronto para instalação:
$ ls pkg PKGBUILD src wine-1.3.25-1-i686.pkg.tar.xz wine-1.3.25.tar.bz2 wine.install
Para instalar o wine, vamos utilizar o pacman:
$ sudo pacman -U wine-1.3.25-1-i686.pkg.tar.xz
Pronto, o processo está concluído! Para confirmar a instalação vamos fazer o seguinte teste:
$ wine --version wine-1.3.25
Ok, tudo conforme o esperado! Viu como é mais simples do que parecia?! Para desinstalar o pacote basta utilizar o seguinte comando:
$ sudo pacman -R wine verificando dependências... Remover (1): wine-1.3.25-1 Tamanho Total dos Pacotes a Remover: 119,47 MB Deseja remover estes pacotes? [S/n] s (1/1) removendo wine [#############] 100%
Mas e o vABS?
Bem, como vocês devem ter notado, o ABS oferece somente a versão mais recente dos PKGBUILDs. Caso seja verificado algum problema na versão mais recente do software instalado, isso pode ser um complicador pois não existe uma possibilidade de downgrade (retorno para versões anteriores). Já o vABS mantem versões diferentes dos PKGBUILDs oficiais, o que é extremamente útil nas horas de necessidade.
Por coincidência, os desenvolvedores do Wine modificaram drasticamente a camada de virtualização de som no Wine, o que resultou em alguns problemas. Isto significa que precisamos desinstalar o wine 1.3.25 e instalar o wine 1.3.24. Para isso utilizaremos a ajuda do vABS.
Como Utilizar o vABS
Usar o vABS é muito simples. Primeiramente, vamos acessar a URL vabs.archlinux-br.org com seu navegador favorito. Em seguida escolheremos nossa arquitetura (no meu caso i686) e navegamos para o seguinte diretório: community/W/wine-1.3.24-1. Neste diretório encontramos os seguintes arquivos:
PKGBUILD wine-1.3.24-1.tgz wine.install
Vamos baixar o pacote .tgz, que contém todos os arquivos que vamos precisar para compilar o Wine, para a pasta raíz do usuário. Para isso utilize os seguintes comandos:
$ cd ~ $ wget http://vabs.archlinux-br.org/i686/community/W/wine-1.3.24-1/wine-1.3.24-1.tgz
Em seguida descompacte-o com o seguinte comando:
$ tar -zxf wine-1.3.24-1.tgz $ cd wine-1.3.24-1
Agora compile o pacote como fizemos no caso do ABS:
$ makepkg
$ ls
pkg PKGBUILD src wine-1.3.24-1-i686.pkg.tar.xz wine-1.3.24.tar.bz2 wine.install
$ sudo pacman -U wine-1.3.24-1-i686.pkg.tar.xz
resolvendo dependências...
procurando por conflitos interrelacionados...
Alvos (1): wine-1.3.24-1
Tamanho Total do Download: 0,00 MB
Tamanho Total da Instalação: 119,28 MB
Prosseguir com a instalação? [S/n] s
(1/1) verificando integridade do pacote [###########] 100%
(1/1) verificando conflitos de arquivo [###########] 100%
(1/1) instalando wine [###########] 100%
This wine package is wow64 enabled. This means it can run 32bit/64bit Windows apps on x86_64.
If you are on x86_64, the default WINEARCH will be win64.
This will cause a lot of Windows applications to malfunction even if they usually work in wine.
Please create your ~/.wine with 'WINEARCH=win32 winecfg' if you are unsure and on x86_64.
See the Arch wiki on wine for more information.
Dependências opcionais para wine
giflib
libpng
libldap
lcms
libxml2
mpg123
openal
jack
libcups
gnutls
v4l-utils
oss
Agora um pequeno teste para provar que a instalação da versão antiga (1.3.24) do Wine foi concluída com sucesso:
$ wine --version wine-1.3.24
Conclusão
O ABS é uma ferramenta incrível para os usuários do Arch Linux mas possui suas limitações. O vABS veio preencher as lacunas do ABS e, ao meu ver, se tornará para o usuário Arch uma ferramenta quase tão essencial quanto o AUR. Claro, ainda precisamos de uma ferramenta que automatize esse processo, similar com o yaourt. Talvez, quem saiba, até mesmo o yaourt pode vir a oferecer uma integração com o vABS.
Pensando um pouco mais à frente, acho que seria interessante criar uma forma do ABS absorver a funcionalidade do vABS, se tornando uma ferramenta unificada. Pelo que conversei com o Estêvão (e pelo pouco conhecimento que tenho da infraestrutura da solução), isso não é tão simples de se fazer pela forma como o ABS já trabalha. Mas quem sabe, esta não seria uma boa hora para pensarmos em uma quebra de paradigma e retrocompatibilidade?! Nem sempre suportar o obsoleto é uma boa política, sempre devemos permitir espaço para o novo, nem que seja rodando em paralelo com o antigo.

Using vABS to Install Wine 1.3.24
Criando Uma Ferramenta CLI Para Uso do vABS
Aí Vem O Gnome-Pie 0.5
Instalando o Pacman 4
Bug Afeta o Blender no Arch Linux
Programas Essenciais Após a Instalação do Arch
Novidades do Xfce 4.10 no Arch Linux
Novidades do Gnome 3.4.1 No Arch Linux
Installing Pacman 4
Lançado o Gnome-Pie 0.3!
| Imprimir artigo | Este artigo foi escrito por Magnun em 2 de August de 2011 às 14:11, e está arquivado em Arch Linux, Mind Bending em Português. Siga quaisquer respostas a este artigo através do RSS 2.0. Você pode deixar uma resposta ou fazer um trackback do seu próprio site. |







há 9 meses atrás
Muito bacana Magnum! Você conseguiu explicar muito bem a utilidade do vABS neste artigo. Um abraço!
há 9 meses atrás
Disponha Estêvão! Em breve devo escrever sobre uma ferramenta em Python para automatizar a busca, download, descompactação e instalação de pacotes pelo vABS
há 9 meses atrás
Sim, vai ser legal. Acho que a forma mais rápida para pesquisa e download dos pacotes é ter uma database local, similar à do pacman.
Listagem de diretórios funcionará bem apenas caso o usuário opte por ter a git tree local, mas caso o usuário queira baixar os arquivos direto do site uma database local e atualizada se fará necessário.
Estou avaliando a melhor maneira de desenvolver isso… Um abraço!
há 9 meses atrás
tambem gostei,otima dica…..
a ideia tambem muito otima.
há 9 meses atrás
Olá denilson, obrigado pelo comentário! Poxa, acho que nunca recebi tantos comentários em tão pouco tempo o.O
há 9 meses atrás
Matou a pau, explicou o que é o vabs e abs de maneira simples e direta =)
há 9 meses atrás
Olá Fernando! Seja bem vindo ao blog e obrigado pelo comentário! Em breve devo fazer mais artigos sobre o vABS pois estou bolando uma ferramenta de automação :)
há 9 meses atrás
Rapaz, eu apanhei um "bacadim" pra entender como funcionava o ABS e como utiliza-lo, mas agora, depois dessa…. entendi direitinho.
Bom post, gostei!!
Vlw Magnum! :D
há 9 meses atrás
Obrigado pelo comentário Sineto! Pelo visto fui bem sucedido na missão de "explicar o ABS e o vABS" :D
há 9 meses atrás
ao menos pra mim foi! hehe ;D