Debianizando Programas Con Autotools o Scons
Hola. Bueno vamos con la tercera parte de este auto-tutorial que estoy dedicando a mi aprendizaje para debianizar programas. Hoy voy a escribir la parte en la que queremos debianizar un programa el cual para su instalación necesitamos compilarlo previamente. Esta forma de debianizar es la más traumática al principio :-S pero cuando llevas unos cuantos hechos ya no parece tan complicado.
Bueno he de decir que lo explicaré para aquellos programas que los debianizaremos en un único paquete, es lo que se llama de forma simple, los de forma múltiple no los he probado todavía.
Empecemos, lo primero será ver que nuestro programa para su instalación utiliza autotools ( es decir, que para instalarlo utilizamos lo del configure, make y make install). Después os recomiendo que leáis bien las instrucciones para su compilación. Una vez hecho esto pasamos a compilar con:
CODE:
-
sudo apt-get build-dep nombre_del_programa
-
./configure --prefix=/usr [más opciones extra necesarias para su compilación]
-
make
Vamos a aclarar un par de cosas, lo primero es que el comando apt-get build-dep nos podrá servir de ayuda para instalar previamente algunas de las dependencias necesarias para poder compilar nuestro programa a debianizar.
Lo segundo es que con configure deberemos leer bien antes las instrucciones de nuestro programa para saber si debemos añadir al configure alguna opción más, nos puede servir de ayuda el hacer previamente ./configure --help. Yo antes de pasar a debianizar un programa os aconsejo hacer el make por si sale algún error. Estos errores pueden ser debidos a incumplimientos de dependencias, a un error en el código del programa o a una falta de opciones al realizar el configure; entre otras.
Vale, pensemos que nuestro programa se ha compilado perfectamente
lo siguiente será preparar el programa con la creación de unos ficheros necesarios. Esto lo realizaremos con el siguiente comando:
CODE:
-
dh_make -e nuestrocorreo -s -n
en donde reemplazaremos donde dice nuestrocorreo por nuestro correo =)) La opción -s es para indicarle que vamos a debianizar de forma simple, con -m lo haremos de forma múltiple. Bien cuando se ejecuta esta opción nos aparecerán unas líneas de información de lo que nos creará, le decimos que Sí y ya esta esta parte hecha.
Al término de la ejecución del susodicho comando se nos habrá creado dentro del directorio de nuestro programa un directorio (( o carpeta )) llamado debian, en el que dentro de él tendremos nuestro fichero control y unos cuantos más, muchos de ellos acabados en su nombre con .ex o .EX ( abreviatura de example en inglés). Bien, de esos ficheros si el programa no es muy complicado podemos optar por borrar los siguientes:
- Cualquiera que empiece por emacsen ( siempre y cuando nuestro programa no tenga soporte para Emacs)
- cron.d.ex, init.d.ex, watch.ex
Si no estamos seguros podemos optar por la opción de no borrarlos. También podemos hacer, aunque no es necesario, borrar el .ex o .EX en todos ellos. Según la complejidad de nuestro programa a debianizar necesitaremos editar, borrar o no ciertos ficheros, esto es muy largo de explicar aquí, lo mejor es que leáis el siguiente enlace. Pero ya os digo que con lo que os he puesto aquí tendréis en general suficiente para llevar vuestra tarea a buen puerto.
Ahora viene el paso más importante, que es editar el fichero control que viene dentro del recién creado directorio debian. Lo podremos crear con cualquier editro de textos, como gedit. Toda la información de lo que tenemos que poner dentro del fichero la podéis leer en el artículo que escribí PINCHANDO AQUÍ, pero con la salvedad de que no hará falta editar la línea Depends, la cual nos aparecerá así:
CODE:
-
Depends: ${shlibs:Depends}, ${misc:Depends}
No la editaremos porque al ejecutar el siguiente comando que os voy a decir, ya nos la rellenará por nosotros. Cuando hayáis terminado de editar el fichero control y estéis seguros de todo lo demás finalizaréis con la introducción por terminal del siguiente comando:
Este comando se encargará de crear nuestro paquete final debianizado o de si han habido fallos nos avisará de cuáles y sus posibles soluciones. La información de los posibles fallos se debe gracias a que al comando debuild le hemos añadido la opción --linda. En la pantalla si hay errores o avisos nos aparecerán etiquetados con E o W respectivamente.
ATENCIÓN: Apartir de Ubuntu Hardy Heron el script de linda desaparece como opción en debuild, así que deberéis ponerlo para debianizar así:
o si queréis así:
Seguirá habiendo control de errores y warnings de vuestras debianizaciones, pero serán a través del script lintian, el cual se activa como opción por defecto con debuild.
Y ya está, si todo ha ido bien restará instalar nuestro programa debianizado con Gdebi, ver si funciona bien y si queremos podemos compartirlo con los demás >:D< A ver si de aquí unos días os escribo cómo crearos vuestro propio repositorio.
Os recomiendo que antes que nada os leáis las dos primeras partes de este tutorial y que las encontraréis bajo la etiqueta Debianizar de este blog.
Este artículo se ha podido escribir gracias a la colaboración desinteresada para enseñarme a debianizar de mi colega por la red de redes Daniel Cremades <:-P
Saludos :-h
Comentarios