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.
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.