[Jderobot-dev] Crear paquetes debian

Oscar Garcia oscar.robotica en linaresdigital.com
Mie Nov 28 09:12:44 CET 2012


El 27/11/2012 22:16, Mikel Gonzalez Baile escribió:
> Hola Óscar, estoy empezando a crear mis primeros paquetes con dpkg, 
> había leído sobre checkinstall pero creo que dpkg es más completo 
> (corrígeme si me equivoco), y de momento estoy probando con cosas 
> sencillas, agregando poco a poco más complejidad (cabeceras, 
> librerías, dependencias...) y adaptándolo al CMake, que es la 
> herramienta que utiliza JDErobot.


Siento haberte confundido. En ningún momento se puede comparar 
checkinstall con dpkg.

Checkinstall realiza la misma función que debhelper, por lo que no se 
puede comparar ni dpkg con checkinstall ni dpkg con debhelper, pero sí 
que se pueden comparar debhelper con checkinstall y debhelper es la 
solución más elegante (e integrada con cmake, según me ha parecido leer 
por encima en la documentación).

Gracias Eduardo, hasta ahora había checkinstall por su sencillez de uso 
(creación de un deb en un único comando). Gracias a tu guía rápida estoy 
tratando de reconstruir los paquetes que ya he creado con anterioridad 
con dh_make, incluyendo algunos parámetros adicionales como la licencia 
(con -c gpl o -c lgpl, etc).


> Lo que sí tengo dudas, es en cómo hacer que si por ejemplo tu paquete 
> necesita de otros para su instalación, instalar todos éstos 
> previamente de forma automática, pero bueno, iré investigando y 
> comentando por aquí.


Según me ha parecido ver en la plantilla generada por dh_make 
posteriormente se usará dh_makeshlibs para generar la sustitución de 
${shlibs:Depends} obteniendo las librerías compartidas que requieren los 
archivos generados. No sé cómo se agregarán manualmente dependencias (si 
hay algún archivo/plantilla para agregarlo sin tener que hacerlo a mano 
en control), pero yo cuando usaba checkinstall lo que hacía era poner el 
nombre del paquete (o paquetes separados por comas) y, si es necesario, 
la versión mínima entre paréntesis.

Te pongo en una única línea dos ejemplos:

Depends: apache2, libc6 (>= 2.1)

Depende de tener instalado un paquete llamado "apache2" y una versión 
superior a 2.1 de libc6.

Para más información: man deb-control

Un saludo.


More information about the Jde-developers mailing list