[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