file debian controllo del pacchetto Domanda
-
22-09-2019 - |
Domanda
Sto cercando di creare un pacchetto Debian per un'applicazione Java.
Nel mio pacchetto c'è un file .jar
che è eseguibile, uno script che verrà eseguito il file jar e un file .so
per fmod.
Ho letto questo tutorial .
Nel file di controllo è presente un campo 'Dipende' che descrive sostanzialmente i pacchetti che devono essere installati per poter installare la mia applicazione. La mia domanda è: come faccio a sapere quali pacchetti sono necessari per la mia applicazione? Ho seguito le istruzioni del tutorial per uno dei file .so, e ottenuto questo:
$ dpkg -S libfmodex64-4.28.09.so
dpkg: *libfmodex64-4.28.09.so* not found.
Inoltre, la mia applicazione richiede Java 1.5 per essere installato in modo per farlo funzionare. Come faccio a specificare questo nel mio pacchetto Debian?
Soluzione
Consiglio vivamente a costruire il vostro pacchetto dalla sorgente all'interno dell'infrastruttura dei pacchetti Debian. Tutto sarà presa più o meno automaticamente la cura di se si utilizza la classe Ant in CDBS .
Se si ostini a assemblare un .deb
binario solo, equivs è molto meno rispetto al metodo hackish descritto dal documento.
Altri suggerimenti
Ti consigliamo di ottenere il nome canonico per la libreria:
apt-cache search libname
Fare attenzione a notare la nomenclatura, alla fine del pacchetto. Se non si desidera specificare un specifica di versione nel file di controllo, solo la prima versione della libreria che è adatto per la vostra applicazione.
Si potrebbe quindi utilizzare canonical_libname >= major.minor
, che consente al sistema di decidere se avete (o possibile aggiornare a) la versione della libreria in grado di supportare l'applicazione. Se si può tagliare questo nel tempo, vale a dire che specifica la versione completa della vostra libreria corrente, ti rompere in futuro.
Per esempio, se si specifica libfoo-1.2.34
e le future versioni di Debian nave libfoo-2.3.45
, il pacchetto sarà di installare, perché pensa di avere una versione non compatibile di libfoo.