<div dir="ltr">Hola Roberto,<div><br></div><div style>gracias por esa ayuda y tomarte la molestia de buscar info!!</div><div style><br></div><div style>Sobre lo que comentas del fichero &quot;control&quot; es justo lo que hago, definir las dependencias externas en el tag &quot;Depends&quot; y como bien dices, al instalar mi paquete con &quot;dpkg&quot; 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 &quot;apt&quot; y/o &quot;aptitude&quot; y ver si con éstos me gestiona lo que quiero.</div>
<div style><br></div><div style>Comentaré por aquí mis avances =)</div><div style><br></div><div style>Un saludo y gracias.</div><div style><br></div><div style>Mikel.</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">
2012/12/20 Luis Roberto Morales <span dir="ltr">&lt;<a href="mailto:lr.morales.iglesias@gmail.com" target="_blank">lr.morales.iglesias@gmail.com</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Buenas noches,<br><div style="margin-left:40px"><br>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.<br>

<br>En control, debería haber un apartado denominado &quot;Depends&quot; que es el que define todas las dependencias binarias; poniendo ahí los nombres de paquetes - y si son necesarias, versiones; Ej: paquete (&gt;= 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.<br>

También existen otros apartados posibles aparte de &quot;Depends&quot; sobre relaciones con otros paquetes [2] como podría ser incompatibilidad, sugerencia o mejora.<br><br>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).<br>

<br></div>Espero que te sirva de algo lo de arriba,<br>Roberto<br><div style="margin-left:40px"><br></div>[1] <a href="https://wiki.ubuntu.com/PackagingGuide/Complete" target="_blank">https://wiki.ubuntu.com/PackagingGuide/Complete</a> <br>

[2] <a href="http://people.canonical.com/~cjwatson/ubuntu-policy/policy.html/ch-relationships.html#s-binarydeps" target="_blank">http://people.canonical.com/~cjwatson/ubuntu-policy/policy.html/ch-relationships.html#s-binarydeps</a><br>
<br>
<div class="gmail_quote">El 19 de diciembre de 2012 21:51, Mikel Gonzalez Baile <span dir="ltr">&lt;<a href="mailto:m.gonzalezbai@gmail.com" target="_blank">m.gonzalezbai@gmail.com</a>&gt;</span> escribió:<div><div class="h5">
<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">Buenas gente,<div><br></div><div>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:</div>


<div><br></div><div>imaginemos que mi paquete gearbox necesita que el paquete &quot;build-essentials&quot; 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.</div>


<div><br></div><div>Echando un ojo al directorio &quot;debian&quot; que se genera tras lanzar &quot;dh_make --createorig&quot; existe un fichero llamado &quot;control&quot; 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.</div>


<div><br></div><div>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... &quot;las siguientes dependencias se instalarán junto con el paquete, ¿desea continuar?.</div>


<div><br></div><div>Un saludo!!!</div><div><br></div><div>Maikel.</div></div><div><div><div class="gmail_extra"><br><br><div class="gmail_quote">2012/11/29 Eduardo Perdices <span dir="ltr">&lt;<a href="mailto:eperdices@gsyc.es" target="_blank">eperdices@gsyc.es</a>&gt;</span><br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000">
    <div>Sí, pero no hace falta subirlos antes,
      los puedes subir a la vez que subas el de jderobot.<br>
      <br>
      Saludos.<br>
      <br>
      El 29/11/12 19:38, Mikel Gonzalez Baile escribió:<br>
    </div><div><div>
    <blockquote type="cite">Buenas Edu,
      <div><br>
      </div>
      <div>tengo una pequeña duda acerca del fichero que me comentaste
        en el anterior mensaje (<a href="http://svn.jderobot.org/jderobot/trunk/debian/control" style="font-family:arial,sans-serif;font-size:16px" target="_blank">http://svn.jderobot.org/jderobot/trunk/debian/control</a>). </div>



      <div><br>
      </div>
      <div>En las dependencias, se encuentran los siguientes paquetes:</div>
      <div><br>
      </div>
      <div>libode-jderobot-dev, gearbox-jderobot-dev,
        gazebo-jderobot-dev, player-jderobot-dev, stage-jderobot-dev<br>
      </div>
      <div>
        <br>
      </div>
      <div>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.</div>
      <div><br>
      </div>
      <div>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?</div>
      <div><br>
      </div>
      <div>Un saludo y gracias.</div>
      <div><br>
      </div>
      <div>Mikel.</div>
      <div class="gmail_extra"><br>
        <br>
        <div class="gmail_quote">2012/11/28 Eduardo Perdices <span dir="ltr">&lt;<a href="mailto:eperdices@gsyc.es" target="_blank">eperdices@gsyc.es</a>&gt;</span><br>
          <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div bgcolor="#FFFFFF" text="#000000">
              <div>Hola,<br>
                <br>
                tenéis el ejemplo completo en la carpeta debian dentro
                del svn de jderobot. Concretamente lo de las
                dependencias se puede ver aquí:<br>
                <br>
                <a href="http://svn.jderobot.org/jderobot/trunk/debian/control" target="_blank">http://svn.jderobot.org/jderobot/trunk/debian/control</a><br>
                <br>
                Saludos.<br>
                <br>
                El 28/11/12 09:12, Oscar Garcia escribió:<br>
              </div>
              <div>
                <div>
                  <blockquote type="cite">
                    <pre>El 27/11/2012 22:16, Mikel Gonzalez Baile escribió:
</pre>
                    <blockquote type="cite">
                      <pre>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.
</pre>
                    </blockquote>
                    <pre>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).


</pre>
                    <blockquote type="cite">
                      <pre>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í.
</pre>
                    </blockquote>
                    <pre>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 (&gt;= 2.1)

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

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

Un saludo.
_______________________________________________
Jde-developers mailing list
<a href="mailto:Jde-developers@gsyc.es" target="_blank">Jde-developers@gsyc.es</a>
<a href="http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers" target="_blank">http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers</a>
</pre>
                  </blockquote>
                  <br>
                </div>
              </div>
            </div>
            <br>
            _______________________________________________<br>
            Jde-developers mailing list<br>
            <a href="mailto:Jde-developers@gsyc.es" target="_blank">Jde-developers@gsyc.es</a><br>
            <a href="http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers" target="_blank">http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers</a><br>
            <br>
          </blockquote>
        </div>
        <br>
      </div>
    </blockquote>
    <br>
  </div></div></div>

</blockquote></div><br></div>
</div></div><br>_______________________________________________<br>
Jde-developers mailing list<br>
<a href="mailto:Jde-developers@gsyc.es" target="_blank">Jde-developers@gsyc.es</a><br>
<a href="http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers" target="_blank">http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers</a><br>
<br></blockquote></div></div></div><br>
<br>_______________________________________________<br>
Jde-developers mailing list<br>
<a href="mailto:Jde-developers@gsyc.es">Jde-developers@gsyc.es</a><br>
<a href="http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers" target="_blank">http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers</a><br>
<br></blockquote></div><br></div>