it-swarm.it

Come caricare un pacchetto con dipendenze sul mio PPA?

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 
 Maintainer: Nathan Osman 
 Build-Depends: debhelper (> = 7) 
 Standards-Version: 3.8 .3 
 Sezione: libs 
 Pagina iniziale: http://jsoncpp.sf.net 
 
 Pacchetto: jsoncpp-dev 
 Sezione: libdevel 
 Architettura: qualsiasi 
 Dipende: libjsoncpp (= $ {binary: Version}) 
 Descrizione: libreria di analisi JSON per C++ 
 Jsoncpp è una libreria C++ che semplifica per 
 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: analisi JSON libreria per C++ 
 jsoncpp è una libreria C++ che semplifica la lettura/scrittura di dati JSON da parte di 
. 

Il file di controllo per il secondo (libsopp):

 Fonte: sopp 
 Priorità: extra 
 Maintainer: Nathan Osman 
 Build-Depends: debhelper (> = 7) 
 Standards-Version: 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 la funzionalità dell'API StackOverflow 
. Fornisce l'accesso a tutti i siti StackExchange. 
. 
 Questo pacchetto contiene i file di sviluppo necessari per scrivere il software 
 Che utilizza così ++. 
 
 Pacchetto: libsopp 
 Sezione: libs 
 Architettura: qualsiasi 
 Dipende: $ {shlibs: Depends}, $ {misc: Depends}, libjsoncpp 
 Descrizione: A C++ libreria per l'interfacciamento con i siti StackExchange. 
 so ++ è una libreria C++ che racchiude la funzionalità dell'API StackOverflow 
. Fornisce l'accesso a tutti i siti StackExchange. 
13
Nathan Osman

Il tuo secondo pacchetto (sopp) deve specificare che ha bisogno del primo per build; la dipendenza che hai specificato (con Depends:) gestirà solo l'installazione.

Per aggiungere una dipendenza build, aggiungila all'inizio (Source:) sezione del tuo file di controllo:

Build-Dipends: jsoncpp-dev

Dovresti quindi essere in grado di eliminare jsoncpp dalla riga Depends, come shlibs:Depends macro dovrebbe risolverlo da sola.

10
Jeremy Kerr