Lo primero es instalar los paquetes básicos para la compilación de paquetes DEB
sudo aptitude install build-essential devscripts fakerootLuego buscamos el paquete deseado en la página de búsqueda de paquetes de Debian, y descargamos los archivos fuentes, los cuales suelen ser de la forma:
- paquete_versión.dsc : Archivo de Control de Fuente Debian (Debian Source Control)
- paquete_versión.orig.tar.gz : Código fuente original
- paquete_versión.debian.tar.xz : Modificaciones realizadas para empaquetar la aplicación
tar xf paquete_versión.debian.tar.xzCreamos un directorio nuevo y movemos la carpeta debian recién descomprimida, allí. Esto, porque compilar el paquete se hace desde el directorio que contenga la carpeta debian, y el archivo paquete_versión.orig.tar.gz se busca en el directorio superior (..)
mkdir deb-srcPara instalar las dependencias de compilación del paquete, la opción sencilla es ejecutar el comando
mv debian deb-src/
sudo aptitude build-depends paquetePero esto sólo nos funcionará si el paquete ya se encuentra en los repositorios. De lo contrario, aptitude reportará que no conoce dicho paquete. En estos casos, debemos examinar el archivo paquete_versión.dsc o el archivo control que se encuentra dentro del directorio debian e instalar los paquetes indicados en la sección Build-Depends, utilizando el comando:
sudo aptitude install dependencia1 dependencia2 #etcLa opción más recomendada para compilar el paquete es entrar en deb-src, y ejecutar debuild
cd deb-srcSin embargo, esto produjo el siguiente error
debuild
dpkg-source: error: aborting due to unexpected upstream changesEste artículo tiene más información sobre este error. Y una forma distinta de evitarlo.
Finalmente, logré compilar el paquete, sin tanta complicación, utilizando el siguiente comando
dpkg-buildpackage -b -ucCon lo cual, obtuve el paquete paquete_versión.deb
Para instalarlo este paquete, ejecutamos:
cd ..En caso de que APT nos indique que hubo un error de dependencias con la instalación, procedemos a ejecutar
sudo dpkg -i paquete_versión.deb
sudo apt-get install -fLo cual debería calcular cuáles dependencias es necesario instalar, intalarlas y culminar la instalación de nuestro paquete.
La estructura de los directorios es de la siguiente forma:
- Directorio de trabajo/
- paquete_versión.dsc
- paquete_versión.orig.tar.gz
- paquete_versión.debian.tar.xz
- paquete_versión.deb
- deb-src/
- debian/