SlackBuild para Quantum GIS 1.8.0 en Slackware 14

He estado trabajando mucho con QGIS últimamente, sin embargo en mi trabajo uso QGIS 1.8.0 (en Windows) y en mi casa QGIS 1.7.4 (en Slackware) por lo tanto pierdo compatibilidad en mis proyectos al pasarlo de una máquina a otra.

Dada esta situación, me di un tiempo para actualizar el QGIS de mi laptop. Lo primero con que me topé fue que no encontré un paquete compilado de la versión 1.8.0 para Slackware y tampoco un SlackBuild. La opción fácil hubiese sido convertir un paquete rpm, o usar la compilación «manual» (make && make install), sin embargo decidí otra aún más fácil que me ayudaría a administrar el paquete nativamente con las herramientas de Slackware: modificar el SlackBuild existente.

Gracias al tipo de licencia en la que se encuentra el script es posible tomar el código como base y modificarlo para obtener lo que uno necesita. Aquí es cuando el verdadero valor del software libre y de fuente abierta es apreciado.

Como no he escrito un SlackBuild, no tengo la experiencia necesaria para hacer uno para Quantum GIS, lo único que he hecho con estos scripts ha sido estudiarlos un poco y por lo tanto se mas o menos como modificarlos.

INICIANDO

Modifiqué el script y lo ejecuté, en mi primer intento obtuve errores como los siguientes:

CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
SPATIALITE_INCLUDE_DIR
used as include directory in directory /tmp/SBo/qgis-1.8.0/src/plugins/offline_editing
SPATIALITE_LIBRARY`
linked by target "offlineeditingplugin" in directory /tmp/SBo/qgis-1.8.0/src/plugins/offline_editing

-- Configuring incomplete, errors occurred!

Para solucionarlos se necesita instalar dos librerías: libspatialindex y libspatialite. Así que instalé la primera.

# sbopkg -ri libspatialindex

Esto disminuyó el número de errores en la segunda ejecución del SlackBuild y confirmé que instalar las librerías tenia éxito, así que fui con la siguiente. libspatialite que requiere proj, geos (ambos ya instalados) y frexl, así que solo ejecuté sbopkg para instanlar lo que necesitaba.

# sbopkg -i "freexl libspatialite"

Como falló la descarga del código fuente, lo descargué de aqui: http://www.gaia-gis.it/gaia-sins/freexl-sources/ , escogí el archivo que tiene la letra «d» ya que es el que está en el sitio de SlackBuilds.

Extraer el código fuente, ejecutar manualmente el SlackBuild…

$ tar -xvzf freexl.tar.gz

$ cd freexl

# ./freexl.Slackbuild

…y finalmente instalar el paquete:

# installpkg /tmp/freexl-1.0.0d-i486-1_SBo.tgz

Ahora si instalar lo que queríamos.

# sbopkg -i libspatialite

FINALMENTE QGIS

Ya que se instalaron los requerimientos de compilación, descargué el SlackBuild de Quantum GIS del sitio de SlackBuilds, primero tuve que cambiar el número de la versión a 1.8.0, luego comentar/eliminar la parte de la aplicación de un parche para la versión 1.7.4 y cambiar la palabra «CHANGELOG» por «ChangeLog» en el SlackBuild (en las últimas líneas de código).

$ tar -xvjf qgis-1.8.0.tar.bz2

$ cd qgis

# ./qgis.SlackBuild

# installpkg /tmp/qgis-1.8.0-i486-1_eco.tgz

Ejecuté el SlackBuild de QGIS y luego instalé el paquete, esta es la prueba de mi éxito:

qgis18

DESCARGA

Se que tal vez haya pocos interesados en lo mismo que yo, sin embargo, si alguno de ustedes desea usar el SlackBuild modificado, he decidido compartirlo y lo pueden encontrar en: https://github.com/ecoslacker/Slackware-Hacks

Claro que esto solo está probado en mi computadora con Slackware 14 x86 o de 32 bits, úsalo bajo tu propio riesgo pues es la primera cosa que hago por el estilo.

PD: Hay un error que hace que Quantum GIS se cierre al dar click en el menú About o Acerca de, aún no se como solucionarlo pero ando investigando.

Saludos

sbopkg para Slackware 14.0

Bueno señores Slackware 14.0 es ahora nuestra nueva versión de esta excelente distribución de Linux, y desde que salió a la luz seguro que hemos estado configurándola e instalándole los paquetes que necesitamos. Y para aquellos que estuvimos todos estos días descargando fuentes y tarballs de SlackBuilds para armar nuestro sistema, les tengo una excelente noticia, la aplicación sbopkg 0.36.0 ha sido liberada el día de ayer (2012-10-04 03:05 UTC) y tiene las siguientes:

NUEVAS CARACTERÍSTICAS

  • Versión lista para Slackware 14.0. Ya que en SlackBuilds.org existen desde hace unos días paquetes/scripts para 14.0.
  • Soporte para la opción -d que descarga sin compilar o instalar, adicionalmente a -b (descargar, compilar) y -i (descargar, compilar, instalar).
  • Ahora es posible combinar la opción -r con otras opciones, y esto hará una sincronización con el repositorio antes de hacer lo demás.
  • Nueva opción de configuración, NICE que permite al usuario especificar el nivel de «amabilidad» para la ejecución del SlackBuild.

Más información en el ChangeLog.

DESCARGA E INSTALACIÓN

Para descargar la nueva versión de la aplicación hay que ir al sitio de descargas y elegir entre, el código fuente o el paquete compilado para Slackware.

Yo decidí descargar el paquete, y para instalarlo es tan fácil como hacer en algún Terminal como usuario root:

# installpkg sbopkg-0.36.0-noarch-1_cng.tgz

Como siempre aparecerá algo como lo siguiente:

Verifying package sbopkg-0.36.0-noarch-1_cng.tgz.
Installing package sbopkg-0.36.0-noarch-1_cng.tgz:
PACKAGE DESCRIPTION:
# sbopkg (SlackBuilds.org Package Browser)
#
# Sbopkg is a command-line and dialog-based tool to interact with the
# SlackBuilds.org repository, a collection of third-party SlackBuild
# scripts to build Slackware packages.
#
# Homepage: http://www.sbopkg.org
#
Executing install script for sbopkg-0.36.0-noarch-1_cng.tgz.
Package sbopkg-0.36.0-noarch-1_cng.tgz installed.

Listo para usarse.

CONFIGURACIÓN INICIAL

Lo primero que hay que hacer es sincronizar el repositorio con:

# sbopkg -r

Pedirá crear unos directorios si es que no se tienen.

The following directories do not exist:

Variable Assignment
-------- ----------
REPO_{ROOT,NAME,BRANCH} -> /var/lib/sbopkg/,SBo/,14.0

You can have sbopkg create them or, if these values are incorrect, you can
abort to edit your config files or pass different flags.

(C)reate or (A)bort?: c

Contestamos «C» y empezará a sincronizar:

Syncing with the remote repository into /var/lib/sbopkg/SBo/14.0.

Una vez que termine el programa está listo para instalar la mayoría de los scripts encontrados en el sitio de SlackBuilds.org solo basta con usar el comando y listo.

EJEMPLO

Un ejemplo de uso de sbopkg se muestra a continuación, instalando el paquete librecad que a su vez necesita muParser, primero se instala la dependencia y luego el paquete deseado, esto se puede hacer pasándole la lista de aplicaciones que se deseen instalar, pueden ser más de dos.

# sbopkg -i "muParser librecad"

Tardará un rato en descargar, compilar e instalar las aplicaciones.

Listo, a seguir usando nuestro Slackware 14.0.

Mas información aquí.

FUENTES

http://www.sbopkg.org/
ChangeLog

SlackBuilds para Slackware 14.0

Hace escasos días que Slackware 14.0 se liberó y como era de esperarse empezó el trabajo para hacer compatibles los paquetes del mayor repositorio de terceros de la red para esta distribución, SlackBuilds.org. Apenas hasta hoy pude percatarme de que en el cuadro de búsqueda de paquetes ya se incluye la versión 14.0, o sea que ya podemos encontrar algunos paquetes compatibles con esta versión.

slackbuilds.org

Viendo en el ChangeLog, uno puede percatarse de que los administradores al parecer sienten que se encuentran un tanto «retrasados» en cuanto al mantenimiento y preparación de los paquetes para Slackware 14.0, bueno esto es lo que escribe rworkman:

Tue Oct 2 18:25:39 UTC 2012
We’re running a bit later than usual on getting ready for the new release this time, but we think you’ll agree that it was worth the wait for us to get all (or at least) most of the kinks worked out.

Para aquellos que no colaboremos con SlackBuilds.org queda informar de los errores o bugs que como usuarios encontremos, y esperemos que los paquetes estén listos pronto.

¡Larga vida a Slackware!