Crear un paquete deb en Raspbian (Debian)

En muchas ocasiones los repositorios de Raspbian carecen de un paquete, o de su versión más reciente, y nos vemos obligados a utilizar repositorios externos. Por desgracia la inmensa mayoría de ellos no dispone de binarios para la arquitectura armhfv6. Aunque siempre puede compilarse los binarios desde el código fuente, esto nos obliga a buscar el código, sus dependencias, y a estar pendiente de posibles actualizaciones y si se trata de varios paquetes puede ser complejo. Raspbian nos permite añadir repositorios solo de código fuente, lo cual nos evita problemas gracias a apt-get.

Para ilustrar esta técnica utilizaremos el paquete tor. El primer paso es añadir el repositorio al sistema operativo y descargar las claves públicas para verificar el código:

~$ echo “deb-src http://deb.torproject.org/torproject.org jessie main” > /etc/apt/sources.list.d/tor.list ~$ gpg –keyserver keys.gnupg.net –recv 886DDD89 ~$ gpg –export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add - ~$ apt-get update

El siguiente paso es descargar e instalar las dependencias necesarias para compilar el paquete con el comando:

~$ apt-get build-dep tor

Ahora ya estamos listos para descargar el código fuente de tor y compilarlo.

~$ mkdir src && cd src ~$ apt-get source tor ~$ cd tor-0.2.7.6 ~$ dpkg-buildpackage -uc -b

Este proceso puede durar desde minutos hasta horas, con tor fueron alrededor de 3 horas. Acabada la compilación dentro de la carpeta src encontraremos todos los paquetes deb necesarios listos para instalar:

~$ dkpg -i tor-geoipdb_0.2.7.6-1~d80.jessie+1_all.deb ~$ dkpg -i tor_0.2.7.6-1~d80.jessie+1_all.deb