Come caricare un pacchetto con dipendenze sul mio PPA?


13

Ho creato un pacchetto per il mio PPA e l'ho caricato. Costruito senza problemi.

Quindi ho creato un altro pacchetto che dipendeva dal primo e l'ho caricato. Non è riuscito perché non è stato possibile trovare i file nel primo pacchetto. Questo mi porta a credere che il primo pacchetto non fosse nemmeno installato.

Come posso assicurarmi che il primo pacchetto sia installato prima di provare a creare il secondo pacchetto?

Il file di controllo per il primo pacchetto (libjsoncpp):

Fonte: jsoncpp
Priorità: extra
Manutentore: Nathan Osman 
Build-Depends: debhelper (> = 7)
Versione standard: 3.8.3
Sezione: libs
Pagina iniziale: http://jsoncpp.sf.net

Pacchetto: jsoncpp-dev
Sezione: libdevel
Architettura: qualsiasi
Dipende: libjsoncpp (= $ {binario: versione})
Descrizione: libreria di analisi JSON per C ++
 jsoncpp è una libreria C ++ che lo rende facile
 leggere / scrivere dati JSON.
 .
 Questo pacchetto contiene gli strumenti di sviluppo necessari
 per creare applicazioni che utilizzano jsoncpp.

Pacchetto: libjsoncpp
Sezione: libs
Architettura: qualsiasi
Dipende: $ {shlibs: Depends}, $ {misc: Depends}
Descrizione: libreria di analisi JSON per C ++
 jsoncpp è una libreria C ++ che lo rende facile
 leggere / scrivere dati JSON.

Il file di controllo per il secondo (libsopp):

Fonte: sopp
Priorità: extra
Manutentore: Nathan Osman 
Build-Depends: debhelper (> = 7)
Versione standard: 3.8.3
Sezione: libs
Pagina iniziale: http://stackoverflow.quickmediasolutions.com

Pacchetto: sopp-dev
Sezione: libdevel
Architettura: qualsiasi
Dipende: libsopp (= $ {binary: Version}), jsoncpp-dev
Descrizione: una libreria C ++ per l'interfaccia con i siti StackExchange.
 so ++ è una libreria C ++ che racchiude le funzionalità di StackOverflow
 API. Fornisce l'accesso a tutti i siti StackExchange.
 .
 Questo pacchetto contiene i file di sviluppo necessari per scrivere il software
 che usa così ++.

Pacchetto: libsopp
Sezione: libs
Architettura: qualsiasi
Dipende: $ {shlibs: Depends}, $ {misc: Depends}, libjsoncpp
Descrizione: una libreria C ++ per l'interfaccia con i siti StackExchange.
 so ++ è una libreria C ++ che racchiude le funzionalità di StackOverflow
 API. Fornisce l'accesso a tutti i siti StackExchange.

Entrambi i pacchetti sono nello stesso PPA?
Jeremy Kerr,

@Jeremy: Sì, lo sono.
Nathan Osman,

Il secondo pacchetto necessita del primo pacchetto da compilare? (ovvero il pacchetto a * -dev di una libreria che utilizza)
txwikinger

@txwikinger: Sì, lo fa. Devi vedere i file di controllo?
Nathan Osman,

@txwikinger: Nvm. Li ho aggiunti.
Nathan Osman,

Risposte:


10

Il tuo secondo pacchetto (sopp) ha bisogno di specificare che deve il primo a costruire ; la dipendenza è stato specificato (con Depends:) gestirà solo l'installazione.

Per aggiungere una dipendenza build, aggiungila alla sezione top ( Source:) del tuo file di controllo:

Build-Dipends: jsoncpp-dev

Dovresti quindi essere in grado di eliminare jsoncpp dalla Dependsriga, poiché la shlibs:Dependsmacro dovrebbe risolverlo da sola.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.