3

I'm trying to create an ubuntu .deb package for the (pretty awesome) Io Language. I am not the developer of that language, so I'm not familiar with its sourcecode yet. This is my first attempt at creating a .deb file.

In order to create the .deb, I'm following these instructions:

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

So far I've been able to create a .deb file (io_2010.06.01-1_amd64.deb) and a changes file (io_201.06.01-1_amd64.changes). I'm using lintian to check the changes file, and it reports an issue I don't know how to resolve:

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

I've read the debian manual 8.8 section. I think I understand what the problem is (I need to make sure that ldconfig is invoked "somewhere", possibly on a place called "posinst") but I don't know how to resolve it (i.e. where this "posinsts" file is and how should I change it).

The current way of installing Io in Ubuntu is basically running sudo make install and then sudo ldconfig. Maybe the makefile should be modified so ldconfig is called from it? I don't know.

Thanks a lot.

1
  • Is you packaging located somewhere? Seeing at least your debian/rules file might shed some light on your specific problem. – andrewsomething Jun 22 '11 at 6:56
2

postinst is a maintainer script that you can add to the debian directory. Most straight forward packages shouldn't require the maintainer to create this file. Debhelper will automatically create it for you in the binary package. See both the New Maintainer's Guide and Debian Policy Manual's sections on maintainer scripts.

1
  • This was it. The debian folder had a postinst.ex file meant to be an example. I renamed it to postinst, modified it so that ldconfig was called when the installation was done correctly, and the warning is gone now. Thanks! – egarcia Jun 22 '11 at 12:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.