Instalar paquetes del AUR sin usar YAOURT

Ya muchos sabrán que soy un feliz usuario de Archlinux, sin embargo algo con lo que me he encontrado es que muchos usuarios quieren usarlo como si fuera ubuntu, muy probablemente por que en muchas webs se puede leer que Arch (digo Arch por que me da pereza escribirlo completo xD) es una distribución para expertos y todos quieren llevarse una rebanada del pastel.

Según mi opinión Arch no es una distribución para expertos, mas bien es una distribución para los que quieren entender un poco mas a fondo como funciona su sistema, esto siguiendo la filosofía del besito xD (KISS = Keep It Simple Stupid), la cual da prioridad a la simplicidad y elegancia sobre la conveniencia para el desarrollador.

Es aqui donde entro en conflicto con herramientas como YAOURT, la cual segun mi opinión rompe con esta filosofía pues nos permite instalar de manera indiscriminada paquetes que son publicados por la comunidad, que si bien pueden/deben estar creados con las mejores intenciones, nada nos asegura que es asi, y al realizar esta tarea de forma automatica podemos poner en riesgo la integridad de nuestro sistema (de ahi que creo que da preferencia a la conveniencia, rompiendo con el esquema KISS). Además de que (segun mi opinión) esta herramienta podría se sustituida facilmente por un simple script.

La gran mayoria de tutoriales e información general de AUR que encontramos en la web implica el uso de YAOURT, y por esto es que a continuación me dispongo a explicarles una forma de prescindir de esta herramienta.



Configurando nuestro sistema para usar AUR

Cuanto vamos a usar paquetes del AUR debemos tener en cuenta no descargaremos paquetes precompilados como los que podemos encontrar en los repos de Arch, mas bien estaremos descargando un script que nos permitira descargar el codigo y compilarlo para despues crear el paquete que sera usado por pacman para instalar la aplicación. Este es el equivalente al paquete que podemos descargar de los repos de Arch.

Por esto es que lo primero que debemos hacer es asegurarnos de que tenemos instalado el grupo de paquetes "base-devel", para esto usaremos pacman de la siguiente forma
pacman -Qg base-devel
pacman -Qgi base-devel
Las flags -Qg nos dara un listado de los paquetes contenidos en el grupo base-devel y -Qgi nos dara un listado de los paquetes contenidos en el grupo base-devel que estan instalados. SI la salida de las dos lineas coincide siginifica que tenemos el grupo de paquetes completo, de lo contrario significa que falta instalar ciertos elementos. Suponiendo que las salidas no coincidan lo mas facil será instalar el grupo con pacman
pacman -S base-devel
Una alternativa a esto sería instalar los paquetes de manera individual.

Instalando paquetes del AUR


Para esto simplemente tenemos que dirigirnos a la web del AUR (http://aur.archlinux.org) y buscar el paquete que queremos instalar, por ejemplo yo usare el cliente de twitter buzzbird.

En la web del paquete en el AUR veremos tres enlaces, el primero nos ofrecera descargar un .tar.gz con el script y alguna que otra chucheria necesaria para que el paquete sea creado sin problemas, el segundo nos da la opción de navegar por los archivos que estan en el .tar.gz sin necesidad de descargarlo, y finalmente el tercer enlace nos da la posibilidad de descargar unicamente el script para crear nuestro paquete. Para mi lo mas comodo es descargar el .tar.gz (tarball) y extraerlo:
# Esto debe hacerse como usuario
# tar -xvzf nombre_del_paquete
tar -xvzf buzzbird.tar.gz
 Esto creará una carpeta conteniendo el script, ingresamos a ella y usamos makepkg para generar el paquete de pacman.
# Esto debe hacerse como usuario
cd buzzbird
makepkg
Es posible que makepkg nos diga que nos faltan dependencias, en cuyo caso podremos usar la flag -s la cual hara que dichas dependencias sean descargadas automaticamente con pacman (el uso de esta flag nos pedira la contraseña de administrador)
makepkg -s
Si no se encontraron dependencias faltantes podremos ver como se descargan los archivos de la aplicacion y son compilados (puede que no sean compilados, esto depende de como se distribuya la aplicación) para finalmente ser colocados en el paquete, entregandonos asi un unico archivo llamado nombre_del_paquete-version-arquetectura.pkg.tar.xz. en mi caso me entrego un archivo llamado buzzbird-0.8-4-i686.pkg.tar.xz.

Finalmente este paquete lo instalaremos con la ayuda de pacman usando la flag -U
# Esto debe hacerse como root
# pacman -U nombre_del_paquete-version-arquetectura.pkg.tar.xz
pacman -U buzzbird-0.8-4-i686.pkg.tar.xz
Con esto debemos tener instalado el paquete y  listo para usar.

NOTA: Hay algunos scripts en el AUR que dependen de otros scripts en el AUR, suponiendo que se de el caso debemos hacer este proceso con cada uno de ellos hasta satisfacer todas las dependencias.

La idea de esta entrada me la dio @Akisuki, a mi (como siempre) no se me ocurria que escribir xD.