Creando paquetes .deb con Checkinstall

Paquete

Soy uno de muchos que han tenido que compilar una versión nueva o alguna aplicación que no está en sus repositorios, el problema con esto es que al compilar en un directorio la aplicación guarda sus librerías y otros archivos en el directorio en el que la compilaste, y si actualizamos el paquete quedan como basura o si eliminamos la carpeta la aplicación ya no sirve. «Es preferible crear un paquete e instalarlo«, si, pero no todos somos buenos con make, así que les presento a checkinstall, que viene a facilitarnos la tarea.

Bien, checkinstall no es nada más que un pequeño asistente por terminal para crear paquetes .deb. Así podemos compilar y crear paquetes para, por ejemplo, mandárselos a nuestros amigos.

Para empezar, tenemos que instalar checkinstall. Así que hacemos (como root):

apt-get install checkinstall

Y en un instante lo tendremos instalado… Lo siguiente es ir a la carpeta en la que tenemos el código de la aplicación, y abrir una terminal. Ejecutamos los siguientes comandos, uno a uno:

./configure
make

Con «./configure» se configuran los paquetes para nuestra distribución y  se crea un «Makefile» (un archivo que contiene instrucciones de compilación), y con «make» se compila el código y deja los binarios, librerías, etc en la carpeta «src«. Ahora, antes de continuar, es recomendable no tener instalada la aplicación de la que se hará el paquete. Si lo está, hagan un:

sudo make uninstall

Y entonces es momento de comenzar con la parte importante, el uso de checkinstall. En esa misma terminal, escribimos:

sudo checkinstall

Y se abrirá el «asistente» de checkinstall. En él podemos modificar la información  que tendrá el paquete que crearemos. Las opciones que podemos modificar son:

  • Maintainer: el desarrollador principal del paquete.
  • Summary: una descripción del paquete.
  • Name: nombre que quieres darle al paquete.
  • Versión: versión del paquete.
  • Release: viene siendo la versión principal del paquete, podemos dejarlo como venga.
  • License: licencia de la aplicación, es preferible no tocarlo.
  • Group: grupo por el cuál fué creado, podemos dejarlo como está.
  • Architecture: arquitectura de procesador del paquete.
  • Source location: nombre de la carpeta (solo la carpeta, no la ruta entera) en la que está el código del paquete.
  • Alternate source location: no es necesario modificarlo.
  • Requires: dependencias que deben ser instaladas para su correcto funcionamiento.
  • Provides: nombre del paquete que provee, no es neesario modificarlo.
  • Conflicts: paquetes con los que entra en conflicto.
  • Replaces: paquetes a los que reemplaza.
Creando un paquete con Checkinstall

Creando un paquete .deb con Checkinstall.

Como ven tenemos una amplia cantidad de opciones para modificar. Cada una tiene un número a su izquierda, así que para editarla solo escibimos su número y presionamos [Enter]. Las que suelo modificar yo son: Maintainer, Summary, Name, Version, y quizás Requires.
Una vez hayamos modificado lo que queremos, presionamos [Enter] (sin ningún número previo) y comenzará a compilar e instalar el paquete. Cuando haya terminado, en el directorio donde compilamos habrá aparecido un paquete .deb de la aplicación, listo para instalar 
Notas:
  • Asegúrense se que en «Version«, no hayan letras. Eso suele evitar que se cree el paquete.
  • Es posible que si editan «Requires» les de un fallo, si ocurre dejen el espacio en blanco.
Bueno, ahora ya no tienen excusa para no crear sus propios paquetes .deb. Y cuéntenme, ¿Suelen crear paquetes para su distro? ¿Cómo suelen crear paquetes en la distribución que usan? Tengo curiosidad 