Tranquilos que no estoy empaquetando mis cosas para irme a otro lado y ni siquiera este post es para contar que ya me queda poco para empaquetar la maleta rumbo a mis merecidas vacaciones en México. La historia va de que desde hace tiempo tenía una espinita clavada en mi espíritu Linuxero y es que nunca me había puesto a crear mis propios paquetes de Debian. Bueno pues las últimas semanas y cómo parte de uno de los objetivos del departamento de Arquitectura de Andago he estado empaquetando algunas cosillas con dos objetivos: facilitar la instalación de nuestros desarrollos a la hora de desplegar soluciones y por otro lado distribuir las versiones Comunity de nuestras soluciones.
En primer lugar indicar que aunque crear un paquete no es un proceso sencillo tampoco es la mar de complicado si tienes algo de experiencia en el funcionamiento de Debian. Por otro lado me quito el sombrero ante todos los desarrolladores de Debian que durante todo este tiempo nos permiten disfrutar de la mejor distribución del planeta, porque el trabajo de crear y mantener un paquete con la calidad exigida por Debian es una tarea complicada.
No voy a replicar aquí el proceso de creación de un paquete porque hay muchos manuales en internet sobre ello y porque me llevaría bastante tiempo, pero voy a hacer algunos comentarios… Como siempre para hacer un paquete lo mejor es fijarnos en los que ha echo otra gente, para ello podemos usar el comando apt-get source
También nos será de gran ayuda pasarle Lintian a nuestro paquete cómo parte del proceso de depuración del mismo. Lintian nos indicará muchos de los errores más comunes a la hora de empaquetar y también nos ayudará a seguir de una forma más adecuada la Debian Policy. Por ejemplo yo no conocía la existencia del comando mktemp para la creación de ficheros temporales y que es mucho más útil que implementarlo nosotros a mano.
Otra parte con la que estuve trasteando fue con el uso de Debconf para la iteración con el usuario a la hora de instalar y configurar el paquete. El sistema de templates que posee es bastante potente y muy versátil, además que es muy fácil integrarlo con los scripts de gestión del paquete. Aún así me costó un poco pillarle el tranquillo ya que a veces se quedaba colgado al hacer algunas cosas raras. Un apunte que me resultó bastante curioso en alguno de los manuales de Debconf es el que te indica que no debes usarlo cómo un registro unificado de configuración al estilo Guindows… señores que esto es un sistema Unix, me moría de la risa.
El proceso de construcción de tu propio repositorio es bastante sencillo y una vez que has depurado el paquete y está listo para probar e instalar es una gozada ver lo fácil que es instalar un programa con una sola línea mientras que antes necesitabas un manual de 50 páginas de pasos a realizar.
En cuanto termine de pulir alguno de los paquetes sobre los que he estado trabajando y estén listos para ser públicos os pasaré un link por si los queréis probar y/o depurar, mientras sigo empaquetando…