Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

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.

share|improve this question
    
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

1 Answer 1

up vote 1 down vote accepted

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.

share|improve this answer
    
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

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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