[Jderobot-dev] Crear paquetes debian

Mikel Gonzalez Baile m.gonzalezbai en gmail.com
Jue Dic 20 10:10:14 CET 2012


Hola Roberto,

gracias por esa ayuda y tomarte la molestia de buscar info!!

Sobre lo que comentas del fichero "control" es justo lo que hago, definir
las dependencias externas en el tag "Depends" y como bien dices, al
instalar mi paquete con "dpkg" sólo me informa de aquellas dependencias que
no se satisfacen. Lo que no sabía era que dpkg no las resuelve y sólo
informa, así que probaré a subir mi paquete al repositorio de jderobot e
instalarlo con "apt" y/o "aptitude" y ver si con éstos me gestiona lo que
quiero.

Comentaré por aquí mis avances =)

Un saludo y gracias.

Mikel.


2012/12/20 Luis Roberto Morales <lr.morales.iglesias en gmail.com>

> Buenas noches,
>
> no tengo experiencia en paquetes, pero leyendo la guía de creación de
> paquetes de la wiki de ubuntu [1] y trucando el ejemplo de hello, he
> conseguido que pida de dependencia un paquete de mi elección así que
> supongo que esto puede servirte.
>
> En control, debería haber un apartado denominado "Depends" que es el que
> define todas las dependencias binarias; poniendo ahí los nombres de
> paquetes - y si son necesarias, versiones; Ej: paquete (>= version) -
> debería provocar una dependencia. Además hay variables de sustitución que
> se pueden utilizar en este apartado, pero su funcionamiento no me lo he
> leído.
> También existen otros apartados posibles aparte de "Depends" sobre
> relaciones con otros paquetes [2] como podría ser incompatibilidad,
> sugerencia o mejora.
>
> También es cierto que algunas aplicaciones como dpkg, al contrario que apt
> o aptitude, no tratan de resolver las dependencias y solo informan de
> dependencia insatisfecha (tuve que instalarme gdebi para que me preguntara
> sobre el paquete que introduje).
>
> Espero que te sirva de algo lo de arriba,
> Roberto
>
> [1] https://wiki.ubuntu.com/PackagingGuide/Complete
> [2]
> http://people.canonical.com/~cjwatson/ubuntu-policy/policy.html/ch-relationships.html#s-binarydeps
>
> El 19 de diciembre de 2012 21:51, Mikel Gonzalez Baile <
> m.gonzalezbai en gmail.com> escribió:
>
> Buenas gente,
>>
>> ya he conseguido crear los paquetes para gearbox, opencv y jderobot-5.1
>> para un sistema Ubuntu 12.04. Sin embargo, tengo una duda acerca de cómo
>> gestionar las dependencias externas de cada uno de ellos. Pongo un ejemplo
>> absurdo, para tratar de explicar la duda:
>>
>> imaginemos que mi paquete gearbox necesita que el paquete
>> "build-essentials" esté instalado en el sistema. Tal y como comentó Edu el
>> usuario no debería instalar estas dependencias manualmente, por lo tanto
>> entiendo que la instalación del paquete gearbox debería, de forma
>> automática, instalar aquellos paquetes de los que depende si éstos no están
>> ya instalados en el sistema.
>>
>> Echando un ojo al directorio "debian" que se genera tras lanzar "dh_make
>> --createorig" existe un fichero llamado "control" donde se pueden definir
>> las dependencias que ese paquete necesita para poder instalarse, sin
>> embargo, o algo estoy haciendo mal o me parece que definiendo ahí esas
>> dependencias externas, éstas no se instalan de forma autómatica, sino que
>> informan al usuario de si alguna de ellas no está satisfecha.
>>
>> Mi pregunta por lo tanto es, ¿dónde o cómo se define la instalación
>> previa de estas dependencias externas al paquete que queremos instalar?. Me
>> imagino que existe la posibilidad de realizar esto, puesto que cuando
>> instalo algún paquete en ocasiones salta un mensaje que dice algo así
>> como... "las siguientes dependencias se instalarán junto con el paquete,
>> ¿desea continuar?.
>>
>> Un saludo!!!
>>
>> Maikel.
>>
>>
>> 2012/11/29 Eduardo Perdices <eperdices en gsyc.es>
>>
>>>  Sí, pero no hace falta subirlos antes, los puedes subir a la vez que
>>> subas el de jderobot.
>>>
>>> Saludos.
>>>
>>> El 29/11/12 19:38, Mikel Gonzalez Baile escribió:
>>>
>>> Buenas Edu,
>>>
>>>  tengo una pequeña duda acerca del fichero que me comentaste en el
>>> anterior mensaje (http://svn.jderobot.org/jderobot/trunk/debian/control
>>> ).
>>>
>>>  En las dependencias, se encuentran los siguientes paquetes:
>>>
>>>  libode-jderobot-dev, gearbox-jderobot-dev, gazebo-jderobot-dev,
>>> player-jderobot-dev, stage-jderobot-dev
>>>
>>>  los cuales, por el nombre, me da la sensación de que son paquetes
>>> también creados por ti, verdad? o bueno, que no son los que uno se descarga
>>> desde el repositorio oficial de gearbox, gazebo, ode, etc, etc.
>>>
>>>  Entiendo que por lo tanto sería necesario crear éstos previamente,
>>> subirlos al repositorio de jderobot donde se almacenan los paquetes, y
>>> luego ya añadirlos como dependencias al propio paquete de JDErobot, no?
>>>
>>>  Un saludo y gracias.
>>>
>>>  Mikel.
>>>
>>>
>>> 2012/11/28 Eduardo Perdices <eperdices en gsyc.es>
>>>
>>>>  Hola,
>>>>
>>>> tenéis el ejemplo completo en la carpeta debian dentro del svn de
>>>> jderobot. Concretamente lo de las dependencias se puede ver aquí:
>>>>
>>>> http://svn.jderobot.org/jderobot/trunk/debian/control
>>>>
>>>> Saludos.
>>>>
>>>> El 28/11/12 09:12, Oscar Garcia escribió:
>>>>
>>>> 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.
>>>> _______________________________________________
>>>> Jde-developers mailing listJde-developers en gsyc.eshttp://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Jde-developers mailing list
>>>> Jde-developers en gsyc.es
>>>> http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers
>>>>
>>>>
>>>
>>>
>>
>> _______________________________________________
>> Jde-developers mailing list
>> Jde-developers en gsyc.es
>> http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers
>>
>>
>
> _______________________________________________
> Jde-developers mailing list
> Jde-developers en gsyc.es
> http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers
>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://gsyc.escet.urjc.es/pipermail/jde-developers/attachments/20121220/0e21fa93/attachment.htm 


More information about the Jde-developers mailing list