Hacer un paquete Debian rápidamente con Alien


En ocasiones queremos instalar un programa que sólo se encuentra disponible en tar.gz conteniendo o bien los binarios o bien el código fiente.

Una vez compilado, si hacemos un “make install” dejamos binarios desperdigados por el disco y fuera del control de paquetes. Lo que propongo a continuación es un truco para hacer un paquete rápidamente y que ese software quede reflejado como instalado en el repositorio apt.

El truco es muy sencillo y voy a ilustrarlo con un ejemplo.

Ayer bajé los fuentes de kbiff desde la página del autor. No encontraba un paquete Debian compilado para KDE 3.1 (sí que está disponible paa la versión 3.2) y, si instalaba el código fuente, luego, cuando en Sid esté disponible el kbiff para KDE 3.2, no se me actualizaría automáticamente.

Estos son los pasos que seguí:
1.- Crear un directorio $HOME/tmp:
$ mkdir $HOME/tmp

2.- Copiar los fuentes al directorio:
$ cp kbiff-3.6.3.tar.bz2 $HOME/tmp

3.- Ir al directorio y descomprimir los fuentes:
$ cd $HOME/tmp ; tar zxvf kbiff-3.6.3.tar.gz

4.- Entrar en el directorio kbiff:
$ cd kbiff-3.6.3

5.- Crear un directorio /usr en /tmp:
$ mkdir /tmp/usr/

6.- Ejecutar el configure diciéndole que el “prefix” sea /tmp/usr. Esto provoca que, al instalarlo vaya todo a parar a /tmp/usr:
$ ./configure –prefix=/tmp/usr –with-qt-dir=/usr/share/qt3

Si os falta alguna librería, aquí el configure os debería avisar. No os debería faltar nada que no esté disponible vía apt-get install.
El siguiente paso (7) es ejecutar make:
$ make

8.- Y luego make install
$ make install

Ahora deberíamos tener la estructura de directorios adecuada en /tmp/usr:

$ ls /tmp/usr
bin lib man share

9.- Con la estructura de directorios correcta, tenemos que ir a /tmp y crear un “.tar.gz” con el directorio usr:
$ cd /tmp ; tar zcvf kbiff-3.6.2.tar.gz usr

Hasta aquí nada fuera de lo normal en una compilación cualquiera. Hemos hecho el make install en un directorio a parte (/tmp/usr) y, además, no hemos necesitado privilegios de root en ningún momento.
Ahora sólo queda convertir el “.tar.gz” en un paquete Debian. Para ello sí que necesitaremos privilegios de root (podemos usar sudo o fakeroot perfectamente)
# alien kbiff-3.6.3.tar.gz

¡Y listos! Ya podemos instalar nuestro paquete recién creado usando dpkg:
# dpkg -i kbiff_3.6.3-2_all.deb

Así de fácil, con Alien sólo tenemos que tomar un “tar.gz” que contenga cada fichero en su sitio dentro del árbol de directorios y convertirlo en .deb.
Por supuesto, los paquetes Debian dan mucho más de sí. Con este método, no podemos, por ejemplo, incluir scripts de post-instalación, o llamar a dselect para que configure otros programas, pero es una manera rápida de tener organizado el software que instalemos. Incluso se puede mejorar añadiendo entradas para el menú de KDE (los ficheros .desktop).

Si alguien quiere adentrarse en el “maravilloso mundo de los paquetes Debian” puede leerse esto:
Guía del nuevo desarrollador de Debian
Este artículo de esdebian

Este post ha sido traido de forma automatica desde https://web.archive.org/web/20140625063149/http:/bulma.net/body.phtml?nIdNoticia=1870 por un robot nigromante, si crees que puede mejorarse, por favor, contactanos.


Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.