Manejo Básico de ABS (Arch Build System)

Hola gente, ésta vez les voy a hablar un poco del ABS (Arch Build System), en resumidas palabras, es el sistema de ports con el que cuenta Archlinux.

¿Que puedo hacer con ABS?

A los que nos gusta jugar con los PKGBUILDS , abs lo que nos permite es “descargar” todos los PKGBUILDS de los paquetes de los repositorios de Archlinux, y modificarlos a nuestro antojo, para por ejemplo, añadir o quitar flags en las instrucciones de compilación, para habilitar o deshabilitar alguna característica particular de algún programa

Instalando y poniendo a puesta ABS

Para ello, vamos a instalar abs:

sudo pacman -S abs

Luego vamos a sincronizar el árbol de PKGBUILDS de los repos oficiales:

sudo abs

vamos a obtener una salida parecida a ésta:

Luego, los PKGBUILDS descargados, se encuentran en /var/abs

Ejemplo práctico: ABS y Gnome 3.16

Me encuentro usando la beta de Gnome 3.16 (3.15.91), en Archlinux, y si bien, funciona (tiene detalles obviamente) en Arch particularmente, faltan aplicaciones que por ejemplo, la alpha de Fedora 22 ya trae, en mi caso un par de las que esperaba con ansias, EOG y Nautilus, entonces ahora les voy a mostrar, como usar ABS, para en éste caso compilar la versión beta de EOG.

Entonces, nos ubicamos en un directorio donde querramos compilar, y nos traemos el PKGBUILD de EOG desde /var/abs/extra/eog , yo personalmente suelo preferir la terminal, por lo tanto en mi caso ejecuté:

cp -r /var/abs/extra/eog $(pwd)

De ésta manera ya tenia los pkgbuilds listos para modificar. Luego me fije en el ftp de GNOME cual era la última versión disponible de EOG, y procedí a modificar el PKGBUILD

Ahora procedo a poner la correcta suma de verificación (en la captura anterior ya está puesta):

[x11tete11x@Jarvis eog]$ makepkg -g
==> Recibiendo las fuentes...
-> eog-3.15.90.tar.xz ha sido encontrado
==> Generando las sumas de control para los archivos fuentes...
sha256sums=('95fb566241f492f043d2e9d7301b657d159d68dbb51ba29d88c52a8b7ba8d243')

y listo! 😀 ahora simplemente lo compilo e instalo:

[x11tete11x@Jarvis eog]$ makepkg -sic
==> Creando el paquete: eog 3.15.90-1 (dom mar 15 21:50:32 ART 2015)
==> Comprobando dependencias mientras se ejecuta...
==> Comprobando dependencias mientras se compila...
==> Recibiendo las fuentes...
-> eog-3.15.90.tar.xz ha sido encontrado
==> Validando las fuentes con sha256sums...
eog-3.15.90.tar.xz ... Aprobado
==> Extrayendo las fuentes...
-> Extrayendo eog-3.15.90.tar.xz con bsdtar
==> Eliminando el directorio $pkgdir/...
==> Iniciando build()...
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes

Y eso es todo 😀

Obviamente ésto lo pueden hacer con cuanto paquete deseen y pueden activar o desactivar características a su antojo (por ejemplo pueden compilar Audacious activando su interfaz QT y desactivando la interfaz GTK)



Soy Tete, un psicópata de los detalles, que siente atracción por las distros basadas en código fuente, cuanto mas pueda hacer sufrir a mi hardware, mas contento estoy, extremadamente rockero y de apariencia símil vikingo (?

5 comentarios

  1.   aioria dijo

    Saludos camarada en el caso de Kaos si quisiera compilar algun programa de los pkgbuild de arch que no haya en kcp seria igual o tendria algun problemas…con las dependencias…

    1.    x11tete11x dijo

      si, tenes que revisar las dependencias, y tener un par de consideraciones, tal y como lo explica su guía http://kaosx.us/es/packaging-guide/

  2.   joaco dijo

    No está mal, lo malo es que no podés compilar las dependencias también, si pudieras hacerlo sería un golazo. Igual se pueden compilar “a mano”, pero estaría bueno poder hacerlo automáticamente.
    Yo intenté usar diversas herramientas para compilar las dependencias circulares, ya no me acuerdo cuales eran, pero siempre me salían dependencias circulares, así que desistí.

    Creo que, para compilar, Gentoo sigue siendo superior, Arch se parece mucho a Slackware, lo cual no me gusta, tampoco me gustan los ports, deberías poder manejarlo todo con el gestor de paquetes.

    1.    x11tete11x dijo

      es que lo estás interpretando mal, la compilación de paquetes en Arch, no es para “imitar” a Gentoo, ni para ganar rendimiento, ni para “ser superior”, es para situaciones muy especificas, como las que mencioné.
      Para mi que no se compilen las dependencias, también está bien, por la sencilla razón de que para eso está Gentoo, acá uno lo que busca son cosas muy puntuales, si podes sacarlo de los repositorios principales, bien, sino, tenes ABS como herramienta

    2.    111aa dijo

      Sí, Arch comparte mucho con Slackware pero ‘filosóficamente: el de ser un sistema simple, limpio y minimalista.
      Evidentemente no entendiste nada de cómo funciona Arch.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.