web-dev-qa-db-fra.com

"io: postinst-must-call-ldconfig" lors de la création d'un package

J'essaie de créer un package ubuntu .deb pour le (assez génial) Io Language . Je ne suis pas le développeur de ce langage, je ne connais donc pas encore son code source . Il s'agit de ma première tentative de création d'un fichier .deb.

Afin de créer le .deb, je suis ces instructions:

http://www.webupd8.org/2010/01/how-to-create-deb-package-ubuntu-debian.html

Jusqu'à présent, j'ai pu créer un fichier .deb (io_2010.06.01-1_AMD64.deb) et un fichier de modifications (io_201.06.01-1_AMD64.changes). J'utilise lintian pour vérifier le fichier des modifications et il signale un problème que je ne sais pas comment résoudre:

$ lintian -Ivi io_2010.06.01-1_AMD64.changes

... (lots of messages)

I: io: no-symbols-control-file usr/lib/libiovmall.so
I: io: no-symbols-control-file usr/lib/libgarbagecollector.so
I: io: no-symbols-control-file usr/lib/libbasekit.so
E: io: postinst-must-call-ldconfig usr/lib/libiovmall.so
N: 
N:    The package installs shared libraries in a directory controlled by the
N:    dynamic library loader. Therefore, the package must call "ldconfig" in
N:    its postinst script.
N:    
N:    Refer to Debian Policy Manual section 8.1.1 (ldconfig) for details.
N:    
N:    Severity: serious, Certainty: certain
N: 
N: Removing /tmp/OYuNShEHYz ...

J'ai lu section du manuel Debian 8.8 . Je pense que je comprends le problème (je dois m'assurer que ldconfig est invoqué "quelque part", peut-être à un endroit appelé "posinst") mais je ne sais pas comment pour le résoudre (c'est-à-dire où se trouve ce fichier "posinsts" et comment le changer).

La façon actuelle d'installer Io dans Ubuntu est essentiellement d'exécuter Sudo make install puis Sudo ldconfig. Peut-être que le makefile devrait être modifié pour que ldconfig soit appelé à partir de lui? Je ne sais pas.

Merci beaucoup.

3
egarcia

postinst est un script de maintenance que vous pouvez ajouter au répertoire debian. La plupart des packages simples ne doivent pas obliger le responsable à créer ce fichier. Debhelper le créera automatiquement pour vous dans le paquet binaire. Voir les sections New Maintainer's Guide et Debian Policy Manual sur les scripts de mainteneur.

2
andrewsomething