it-swarm-es.com

¿Cómo cargar un paquete con dependencias a mi PPA?

Hice un paquete para mi PPA y lo cargué. Se construyó sin ningún problema.

Luego hice otro paquete que dependía del primero y lo subí. Falló porque no pudo encontrar los archivos en el primer paquete. Esto me lleva a creer que el primer paquete ni siquiera estaba instalado.

¿Cómo puedo asegurarme de que el primer paquete esté instalado antes de intentar compilar el segundo paquete?

El archivo de control para el primer paquete (libjsoncpp):

 Fuente: jsoncpp 
 Prioridad: extra 
 Mantenedor: Nathan Osman 
 Build-Depends: debhelper (> = 7) 
 Versión estándar: 3.8 .3 
 Sección: libs 
 Página de inicio: http://jsoncpp.sf.net 
 
 Paquete: jsoncpp-dev 
 Sección: libdevel 
 Arquitectura: cualquiera 
 Depende: libjsoncpp (= $ {binary: Version}) 
 Descripción: biblioteca de análisis JSON para C++ 
 Jsoncpp es una biblioteca de C++ que lo hace fácil para 
 leer/escribir datos JSON. 
. 
 Este paquete contiene las herramientas de desarrollo necesarias 
 para crear aplicaciones que usan jsoncpp. 
 
 Paquete: libjsoncpp 
 Sección: libs 
 Arquitectura: cualquiera 
 Depende: $ {shlibs: Depends}, $ {misc: Depends} 
 Descripción: análisis JSON La biblioteca para C++ 
 jsoncpp es una biblioteca de C++ que facilita 
 leer/escribir datos JSON. 

El archivo de control para el segundo (libsopp):

 Fuente: sopp 
 Prioridad: extra 
 Mantenedor: Nathan Osman 
 Build-Depends: debhelper (> = 7) 
 Versión estándar: 3.8 .3 
 Sección: libs 
 Página de inicio: http://stackoverflow.quickmediasolutions.com 
 
 Paquete: sopp-dev 
 Sección: libdevel 
 Arquitectura: cualquiera 
 Depende: libsopp (= $ {binary: Version}), jsoncpp-dev 
 Descripción: Una biblioteca C++ para interactuar con sitios StackExchange. 
 So ++ es una biblioteca de C++ que envuelve la funcionalidad de la API StackOverflow 
. Proporciona acceso a todos los sitios de StackExchange. 
. 
 Este paquete contiene los archivos de desarrollo necesarios para escribir el software 
 Que usa ++. 
 
 Paquete: libsopp 
 Sección: libs 
 Arquitectura: cualquiera 
 Depende: $ {shlibs: Depends}, $ {misc: Depends}, libjsoncpp 
 Descripción: A C++ biblioteca para interactuar con sitios StackExchange. 
 so ++ es una biblioteca C++ que envuelve la funcionalidad de la API StackOverflow 
. Proporciona acceso a todos los sitios de StackExchange. 
13
Nathan Osman

Su segundo paquete (sopp) necesita especificar que necesita el primero para build; la dependencia que haya especificado (con Depends:) solo se encargará de la instalación.

Para agregar una dependencia de compilación, agregue esto a la sección superior (Source:) de su archivo de control:

Build-Depends: jsoncpp-dev

Entonces debería poder soltar jsoncpp de la línea Depends, ya que la macro shlibs:Depends debería resolverlo por sí misma.

10
Jeremy Kerr