O AUR (Arch Linux User-Community 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. Neste artigo mostro como usar e enviar seus pacotes para o 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:
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 diretório
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:
Nunca esqueça de incrementar a variável pkgrel (ou pkgver) do PKGBUILD quando atualizar um pacote e for submetê-lo ao AUR;
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;
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ê.
[1] Comentário enviado por dbahiaz em 03/09/2008 - 21:08h
hdoria, nunca usei o arch mais achei muito legal esse esquema do AUR, e tenho dúvidas, existe uma quantidade de votos para um pacote se tornar oficial? Iimaginamos que um pacote criado tenha as qualificações adequada, e recebeu uma quantidade de votos relevante, mais se houver uma demora o mesmo pode ficar ultrapassado, mesmo assim esse pacote entraria?
[3] Comentário enviado por skate_forever em 04/09/2008 - 07:32h
@dbahiaz
Nem sempre um pacote com uma quantidade de votos vai entrar no repositório community. Isso depende de vários fatores, licença de distribuição, nenhum TU/Dev se interessou pelo pacote, etc...
Temos pacotes como realplayer, nerolinux, entre outros que tem votos suficientes para entrar porém não entram nos repositórios por conta de licença, é apenas um exemplo. E tem pacotes que com 5 votos entra no repositório, depende muito do tipo de pacote.
[4] Comentário enviado por hdoria em 04/09/2008 - 09:16h
@dbahiaz,
Os TUs geralmente procuram pacotes que possuem muitos votos. Um pacote com 20 votos é um bom sinal. Apesar disso, apenas os votos não são suficientes em todos os casos.
Ás vezes um pacote possui uma licença muito restrita, só está disponível em binário, pode prejudicar a segurança etc. Nestes casos um TU nunca adotará o pacote e o mesmo ficará no AUR sempre.
Quando um pacote está no AUR seus votos são contatos sempre. Ou seja, se você atualizar o pacote os votos dele não são perdidos. E caso um pacote esteja desatualizado e algum TU queira movê-lo para o community o próprio TU atualiza o pacote na hora de mover. Então, dificilmente você verá um pacote muito ultrapassado neste repositório.