2010-03-28 3 views
2

J'essaie de créer un paquet Debian pour une application Java.Fichier du contrôle du paquet Debian Question

Dans mon paquet, il y a un fichier .jar qui est exécutable, un script qui va exécuter ce fichier jar et un fichier .so pour fmod. J'ai lu this tutorial.

Dans le fichier de contrôle, il y a un champ 'Depends' qui décrit essentiellement les paquets qui doivent être installés pour installer mon application. Ma question est, comment puis-je trouver quels paquets sont requis pour mon application? J'ai suivi les instructions du didacticiel pour l'un des fichiers .so, et a obtenu ceci:

$ dpkg -S libfmodex64-4.28.09.so 
dpkg: *libfmodex64-4.28.09.so* not found. 

En outre, mon application nécessite Java 1.5 à installer pour que son exécution. Comment est-ce que je spécifie ceci dans mon paquet debian?

Répondre

0

Je recommande fortement de construire votre paquet à partir de la source dans l'infrastructure de paquets Debian. Tout sera automatiquement pris en charge si vous utilisez la classe Ant dans CDBS.

Si vous insistez pour assembler un binaire .deb seulement, equivs est beaucoup moins hackish que la méthode décrite par votre document.

+0

Bonjour ephemient, Merci pour la réponse. C'est exactement ce dont j'ai besoin. J'ai en fait besoin de plus tard pour tout intégrer dans ant. Donc, y at-il un bon tutoriel pour intégrer Ant avec CDBS .. Merci –

0

Vous voulez obtenir le nom canonique de votre bibliothèque:

apt-cache search libname

Prenez soin de noter la nomenclature à la fin du paquet. Vous ne voulez pas spécifier une version spécifique dans le fichier de contrôle, juste la première version de la bibliothèque qui convient à votre application.

Vous utiliserez ensuite canonical_libname >= major.minor, ce qui permet au système de décider si vous avez (ou pouvez mettre à jour) la version de la bibliothèque pouvant prendre en charge votre application. Si vous sculptez ceci dans le temps, c'est-à-dire en spécifiant la version complète de votre bibliothèque actuelle, vous vous casserez dans le futur. Par exemple, si vous spécifiez libfoo-1.2.34 et les futures versions de l'expéditeur Debian libfoo-2.3.45, votre paquet ne s'installera pas, car il pense que vous avez une version incompatible de libfoo.

+0

'apt-cache', pas' apt cache'. – ephemient

+0

@ephemient - Merci, corrigé. –

Questions connexes