viernes, 23 de octubre de 2009

SBopkg, gestiona slackbuild desde consola

Como saben nosotros los usuarios de slackware tenemos muchas herramientas parecidas al apt-get de debian o al yum de fedora, y tenemos una herramienta un poco parecida al emerge de gentoo, se trata de Sbopkg, que nos ayuda a gestionar los slackbuild's.


Los Slackbuild y Slackbuilds.org


Un Slackbuild es un script que ejecuta una serie de ordenes para crear un paquete tgz y asi poder instalarlo en nuestro Slackware. Los slackbuild, los podemos encontrar en Slackbuilds.org, que es un proyecto para crear un repositorio de slackbuilds, mantenido por un pequeño grupo de desarrolladores cercanos al principal mantenedor de Slackware y a la vez su creador, Patrick Volkerding.

Usar los slackbuild es muy sencillo, para ello debemos descargar las fuentes de la aplicación a empaquetar y los elementos necesarios, como pueden ser, el slack-desc de la aplicación, el icono, etc.
Una vez descargados las fuentes, nos toca darle permiso de ejecución al Slackbuild. Por convención el slackbuil es el archivo de texto que se llama:

nombre_aplicacion.SlackBuild

Entonces es a este archivo al que le damos permisos de ejecución:

# chmod 750 nombre_aplicacion.SlackBuild

Y por ultimo ejecutar el script

# sh nombre_aplicacion.SlackBuild

Cuando acabe de ejecutarse el script debería crearnos un tgz listo para ser instalado en nuestro sistema.

Como ven es muy fácil hacer uso de los slackbuild a la vez que practico, es mas, el mismo Patrick Volkerding hace uso de ellos para crear los paquetes de la distro.


Un Ejemplo: Supongamos que queremos construir el paquete llamado Midori, un navegador web liviano que viene junto al proyecto xfce4. Para esto vemos lo que necesitamos: Midori

Son 5 archivos, incluida el tarball, pero para que el trabajo de bajar sea mas facil SlackBuilds.org, no ofrece la opción de descargar un archivo comprimido con lo que necesita el slackbuild para cnstruir el paquete tgz, excepto la fuente de la aplicacion que la debemos bajar desde un sitio oficial, con esto nos asegura transparencia en el codigo y asi además se evita introducir errores o vulneravilidades :). Entonces descargamos la fuente y el archivo comprimido:

descomprimimos los archivos del slackbuild

# tar xvf midori.tar.gz
midori/
midori/README
midori/midori.info
midori/slack-desc
midori/midori.SlackBuild

Movemos la fuente de la apicacion al directorio de trabajo

# mv midori-0.0.21.tar.bz2 midori/

entramos al directorio y damos permisos de ejecución al SlackBuilds

# cd midori
# chmod +x midori.SlackBuild

Y ejecutamos para que nos arme nuestro paquete

# sh midori.SlackBuild

Y si todo sale sin errores vamos a tener listo nuestro tgz en los temporales para instalarlo

# installpkg /tmp/midori-0.0.21-i686-1_SBo.tgz



Sbopkg

¿Alguna vez pensaste que seria genial poder disponer de una herramienta para manejar Slackbuilds desde la consola sin tener necesidad de ir al repositorio?

Si tu respuesta es Sí, ya no sufras más xD, esa herramienta se llama Sbopkg.

Sbopkg a diferencia de muchos otros proyectos que buscaban algo similar funciona muy bien y ademas cuenta con una gui basada en ncurses que la hace perfecta para manejar SlackBuilds. Para instalarlo debemos ir a su paquina oficial y descargar el paquete tgz:


Actualmente la última versión stable es la: sbopkg-0.15.0

Ya descargada lo instalamos con:

# installpkg sbopkg-0.15.0

El siguiente paso es actualizar los repositorios (sincronizarlos)

# sbopkg -r
Rsyncing with Slackbuilds.org repository into /home/sbo/12.2.
receiving incremental file list

sent 1271 bytes received 218271 bytes 33775.69 bytes/sec
total size is 12338342 speedup is 56.20

Rsync with SlackBuilds.org complete.

Finished rsync.
All done.

Desde la consola o bien desde su gui

# sbopkg



Creating local repo directory /home/sbo/12.2
for the rsync mirror.

Press any key to continue or Ctrl-C to exit.

Creating local cache directory /var/cache/sbopkg to keep downloaded sources.

Press any key to continue or Ctrl-C to exit.





Creating local TMP directory /tmp/SBo.

Press any key to continue or Ctrl-C to exit.





Esto nos va a crear una directorio en nuestro home llamado sbo que va a contener los elementos necesarios para navegar en los diferentes SlackBuilds.

Ahora para instalar el mismo paquete anterior, midori, podemos hacerlo como sigue:

Buscar si esta:

# sbopkg -s midori

Searching for midori
::::::::::::::
./network/midori/README
::::::::::::::
Midori is a lightweight, webkit-based web browser.

Since midori is still in heavy development, an "updated" version
can be grabbed via. git and making minor changes to the buildscript:

git clone http://software.twotoasts.de/media/midori.git midori
..................
.......
.....
...
..
.
Crear el paquete

# sbopkg -b midori

Building midori

Building midori
Checking MD5SUM for midori-0.0.21.tar.bz2...
OK
Building Slackware package for midori-0.0.21.tar.bz2...
midori-0.0.21/
........
.....
...
..
.
Todavia mas simple de lo que era ir a los repositorios de SlackBuilds.org :) que fácil no?.. despúes andan diciendo que Slackware es dificil... en fin...

Sbopkg no instala el paquete por lo que tenemos que instalarlo a mano

# installpkg /tmp/midori-0.0.21-i686-1_SBo.tgz

Y ya esta, instalamos una aplicacion hecho para nuestro tarro de una forma practica y sin complicaciones :)


Pero como siempre hay personas peleadas con sus terminales.. para esos casos Sbopkg nos presenta un interface gráfica de la forma de pkgtool:

# sbopkg



Escribimos la aplicacion que buscamos




Nos muestra la ubicación del SlackBuild en el repositorio



Le ordenamos que cree el paquete tgz



Creando el paquete (trabajando :p )




Resumen de la creación del paquete





Algunas otras Opciones de uso

# sbopkg -c ---> muestra los paquetes instalados con sbopkg y su posible actualizacion
# sbopkg -f ---> Sobre escribe configuracion por defecto
# sbopkg -h ---> muestra la ayuda
# sbopkg -l ---> muestra el Changelog de los repositorios de Slackbuilds.org
# sbopkg -v ---> muestra la version de los Slackbuilds

2 comentarios:

Search this blog