Warning: Invalid argument supplied for foreach() in /home/hugodoria/hdoria.archlinux-br.org/blog/wp-includes/classes.php on line 255
AUR - Arch Linux User Repository | Hugo Doria

AUR – Arch Linux User Repository

O que é o AUR?

Antes de tudo deixa eu contar uma historinha: Eu comecei a usar Linux com o Slackware e era completamente apaixonado por ele. Foi graças ao Slack que eu aprendi muita coisa, mas depois de sugar tanto conhecimento me deu uma vontade tremenda de começar a contribuir e foi aí que a coisa começou a desandar para mim.

Na época o Slack era muito burocrático e era realmente complicado contribuir com algo. Tinha um pessoal do GUS-BR que já fazia bastante coisa, mas só. Quando o Patrick adoeceu a coisa só piorou. Foi nesta época que eu percebi que estava na hora de EU começar a procurar uma distribuição mais comunitária (no meu ponto de vista), com um desenvolvimento mais aberto e menos dependente de uma pessoa só.

Testei o Debian, mas não gostei muito da comunidade (nada pessoal, galera. vocês fazem um bom trabalho) e gentoo, que apesar de ótimo não era exatamente o que eu queria. Fique neste último durante algum tempo até que conheci o Arch (saiba mais sobre ela) e o AUR.

O AUR (Arch Linux User Repository) é um repositório de pacotes alimentado pelos próprios usuários do Arch. É lá que se encontram os pacotes mais desconhecidos e/ou que ainda não estão disponíveis nos repositórios oficiais da distribuição. Por causa disso o AUR acabou se tornando o berço dos pacotes do Arch. Quando um pacote se encontra no AUR as pessoas podem votar à favor, ou contra, do mesmo baseando-se na qualidade, utilidade, estruturação e, claro, segurança do seu pacote enviado.

Se um pacote receber vários votos positivos, um Trusted User poderá adotá-lo e movê-lo para o repositório [community]. Desta forma seu pacote estará em um repositório oficial e, consequentemente, poderá ser instalado pelo pacman e/ou ABS.

Os Trusted Users são os responsáveis por manter o AUR em ordem. Eles podem adotar pacotes, remover, colocar algum como orfão, gerenciar usuários, ajudar a melhorar os padrões dos PKGBUILDs, evitar código malicioso, participar de questões administrativas etc.

Qualquer usuário pode se tornar um Trusted User, mas para isso ele precisa se canditar, passar por um período de discussão e análise de suas constribuições (pacotes no AUR e contribuições com o software livre em geral) e, por último, por um processo de votação. Todo o processo está descrito aqui. Atualmente existem 26 TUs, sendo dois brasileiros (eu e o Douglas Soares)

O AUR é bem aberto e qualquer pessoa pode contribuir com o AUR. Qualquer pessoa, mesmo. Se você tiver tempo e gostar de empacotar este será seu playground inicial. À seguir eu mostro algumas coisas que você pode fazer no AUR:

Instalar um pacote do AUR

Os repositórios principais do Arch possuem quase cinco mil pacotes e quase tudo que a maioria dos usuários precisam. Apesar disso, cedo ou tarde você precisará de um pacote que não se encontra lá. Quando isto acontecer não se desespere, vá ao AUR. É quase certeza que você o encontrará lá.

Entre em http://aur.archlinux.org. Você será apresentado à interface do AUR, com a lista dos últimos pacotes atualizados, formulário de login, estatísticas do projeto e algumas outras coisas. No momento o que lhe interessa é o link "packages" que se encontra na barra azul.

Ao clicar no link você terá um formulário de busca e filtro de pacotes à sua disposição. Coloque o nome pacote que você deseja instalar no campo de busca (keywords). Aqui vamos usar como exemplo o pacote thunderbird-spell-pt-br (um dicionário pt_BR para o thunderbird).

Depois de pesquisar pelo pacote,  você será apresentado a uma lista com um ou vários pacotes (isso vaí depender do nome que você usou na busca). Clique exatamente no pacote que deseja que uma tela com as informações do mesmo será mostrada.

Uma breve descrição das informações:

  1. Nome, versão e URL do pacote
  2. Aqui você vê o local (unsupported ou community), a categoria, o mantenedor e quantidade de votos do pacote
  3. A licença do software
  4. A data de envio e de última atualização do pacote
  5. Links para o tarball (mais importante), lista de arquivos e PKGBUILD do pacote
  6. A lista de dependências a as URLs dos fontes necessários para a construção do pacote

Aqui o link que interessa é o "tarball". Clique nele e salve o arquivo no seu disco. Em seguida descompacte-o com o comando:

$ tar xvf arquivo.tar.gz

Exemplo:

$ tar xvf thunderbird-spell-pt-br.tar.gz

Dentro do diretório criado você verá vários arquivos como, por exemplo: PKGBUILD, pacote.install, pacote.patch etc. O único arquivo realmente obrigatório é o PKGBUILD. Como já foi dito, é ele que possui as instruções de construção do pacote. Os outros arquivos são opcionais e não estão presentes apenas em alguns pacotes e quando necessário.

Para criar o pacote basta fazer, dentro do diretório criado:

$ makepkg

Isso verificará as dependências (incluindo as necessárias para a construção do pacote), baixará os sources, checará o md5, compilará o programa e criará o pacote para você. Tudo automaticamente e, claro, se o PKGBUILD estiver correto (o que acontece quase sempre).

Se tudo der certo você verá uma mensagem como esta:

==> Finished making: thunderbird-spell-pt-br 2.0.0.16-1 i686 (Mon Sep  1 22:53:39 BRT 2008)

Isso significa que seu pacote foi criado com sucesso. Agora é só instalá-lo com o pacman:

# pacman -U pacote.pkg.tar.gz

Exemplo:

# pacman -U thunderbird-spell-pt-br-2.0.0.16-1-i686.pkg.tar.gz

Pronto. Você acabou de construir e instalar um pacote do AUR. :)

Submetendo um pacote ao AUR

Você já vota e usa pacotes do AUR muito bem, gostou tanto da ferramenta que começou a construir seus próprios pacotes (aprenda aqui e aqui) e agora quer disponibilizá-los no AUR. Como fazer? Fácil:

A primeira coisa que você precisa fazer é criar um tarball com todos os arquivos necessários para a construção do seu pacote. Vamos supor que você esteja criando um pacote foobar. Você deve ter uma estrutura de diretórios parecida com isso:

foobar/
foobar/PKGBUILD
foobar/foobar.install
foobar/foobar.patch

Ou seja, realmente tudo que precisa pro pacote. Você NÂO deve colocar nenhum source e nenhum binário aí dentro. Se tiver algum (resto de uma compilação anterior, por exemplo) apague. Lembrando que o único arquivo realmente necessário é o PKGBUILD. Sabendo disso tudo crie um tarball desta sua árvore:

$ tar cvzf arquivo.tar.gz diretorio

Exemplo:

$ tar cvzf foobar.tar.gz foobar/

Com o tarball em "mãos" entre em aur.archlinux.org e logue-se. Em seguida vá em submit. Aqui selecione corretamente a categoria do seu pacote (lib, multimedia, gnome etc) e clique em browse. Agora é só selecionar o tarball criado anteriormente e clicar em upload.

Voilá, você acabou de submeter seu pacote ao AUR. Agora ele está disponível para toda a comunidade do Arch e pode ser votado, baixado e usado por todos.

Atualizando um pacote

E o que fazer quando eu quero atualizar um pacote que submeti anteriormente? Bem, o processo é exatamente o mesmo. Você vai em submit, seleciona a categoria do seu pacote, clica em browse, seleciona seu pacote e clica em upload. O AUR é inteligente o suficiente para saber que aquele pacote já existe e que você está tentando atualizá-lo.

Só três observações:

  1. Nunca esqueça de incrementar a váriavel pkgrel (ou pkgver) do PKGBUILD quando atuualizar um pacote e for submetê-lo ao AUR
  2. Você só será capaz de sobrescrever um pacote caso ele seja seu. Se tentar fazer isto com um pacote de outra pessoa vai dar erro.
  3. Caso você queira atualizar um pacote que não seja seu você deve enviar um email para o atual dono, adicionar seu PKGBUILD nos comentários do pacote ou entrar em contato com um Trusted User para que ele disponibilize o pacote para você .

Votar em um pacote

Se você sabe que um pacote se encontra no AUR, mas você gostaria muito de vê-lo no [community] então vote no pacote. Basta você entrar no aur, buscar o pacote que deseja e, na tela de informações do mesmo, clicar em vote. Simples assim. :) Depois é só esperar que outras pessoas também façam o mesmo para que o pacote seja movido para o repositório oficial.

Bem, é isso. O AUR tem outras opções e vale a pena explorá-lo um pouco. Recomendo! :D



11 Responses to “AUR – Arch Linux User Repository”

  1. m0ska disse:

    Olá, gostaria de saber se tem alguma maneira de utilizar a árvore do aur no gerenciador de pacotes do Arch Linux, daí eu poderia instalar os pacotes e suas dependências automaticamente e não ficar quebrando a cabeça baixando todas as dependências dos pacotes na marra.

  2. Raphael disse:

    Sempre que tento compilar algum pacote recebo essa mensagem, mas não encontro nada na internet pra resolver o problema:

    ==> ERROR: firefox-branded is not available for the ” architecture.
    Note that many packages may need a line added to their PKGBUILD
    such as arch=(”).

    Alguma idéia?

  3. Rodrigo disse:

    @m0ska: existe uma ferramenta ótima pra isso, o yaourt.

  4. Hugo Doria disse:

    @m0ska

    A melhor maneira de fazer isso é, como o Rodrigo falou, usando o yaourt:
    http://archlinux.fr/yaourt-en

    @Rafael

    Isso acontece porque o makepkg agora obriga que um PKGBUILD possua um campo indicando a licença do software. Antigamente isso não era obrigatório e, por isso, você vê essas mensagens em PKGBUILDs mais antigos.

    A solução é abrir o arquivo PKGBUILD no seu editor preferido e adicionar a seguinte linha:

    arch=(’i686′ ‘x86_64′)

  5. Avelino de Almeida Bego disse:

    Hugo, qual seria a diferença do ABS e do AUR?

  6. cristo disse:

    Caramba depois de ler isso já me tenho vontade de usar o Arch, eu já passei um tempo usando Slackware o que foi legal, mas essa idéia do Arch é muito útil e muito legal, pois estou usando o openSuse (que por sinal é muito bom), mas fazer um pacote para ele é um sacrifício, por enquanto vou ficar só observando o Arch, pois ainda não devo mudar de distribuição agora.

  7. m0ska disse:

    Realmente o yaourt é uma ótima ferramenta pra trabalhar com aur. recomendo.

  8. [...] ficam os pacotes mais populares da comunidade. Além disso, eles também são responsáveis pelo AUR, por ajudar a melhorar a qualidade dos pacotes, treinar novos TUs e podem participar de algumas [...]

  9. [...] ficam os pacotes mais populares da comunidade. Além disso, eles também são responsáveis pelo AUR, por ajudar a melhorar a qualidade dos pacotes, treinar novos TUs e podem participar de algumas [...]

  10. [...] Por motivos de licença, o wingide não está disponível nos repositórios oficiais do Arch. Se vocẽ não comprar, a solução é instalar este pacote do AUR (versão trial de 30 dias). Se você ainda não sabe como instalar um pacote do AUR veja este tutorial. [...]

Leave a Reply