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.
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.