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:
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