Alexander Koch wrote: > G'Evening... > > I've several question and problems with a package I'm trying to build. > Well, here we go. > > 1. In the rules file some directories /var/run/diablo/, /var/spool/news/ > are 775 and not 755. How evil is that? Honestly I don't know whether > 755 breaks anything. And it already was like this in the last two > Diablo releases. I will defer evilness judgements to others... > 2. lintian also complains about this: > W: diablo: missing-depends-line > > Hmh. Not good. debian/control says this: "Depends: ${shlibs:Depends}" > What am I missing here? The variable ${shlibs:Depends} is substituted with the the dynamic-linked libraries as found by the step in the rules file that calls debstd (or dh_shlibdeps, if you use debhelper). You are statically linking (see below), so there are no shared libs to find, so the variable stays empty, so lintian complains. To quell the error you must compile and link this program dynamically. > 3. Additional lintian warnings: > E: diablo: statically-linked-binary usr/sbin/diablo > E: diablo: statically-linked-binary usr/lib/news/dbin/dnewslink > > When debian/rules is called I get this: > [..] > dpkg-shlibdeps dbin/diablo > dpkg-gencontrol > no utmp entry available, using value of LOGNAME ("root") at /usr/lib/dpkg/controllib.pl line 16. > dpkg-gencontrol: warning: unknown substitution variable ${shlibs:Depends} > [..] > What am I doing wrong here? dpkg-shlibdeps is not finding any dynamic libs. dpkg-gencontrol is wigging out because it didn't get the info it needs from dpkg-shlibdeps. You should get a file in the debian directory (after running build) named 'substvars' that has the string to substitute for ${shlibs:Depends} If seems the upstream author decided to statically link all the libraries rather than worry about dependancies and possibly getting bug reports because his users did not have the required libraries. Because of the wonderful dpkg, you don't have to worry about that... You can explicitly specify which libraries are needed and be assured that they exist on the user's machine. I suggest you read the gcc documentation about dynamic/static linking. (look at the -fPIC option), change the makefile to link dynamically, and your lintian problems will disappear! Good luck, -Mitch -- This .sig space available for lease. Please contact: Mitch Blevins | mitch_blevins@mindspring.com
Attachment:
pgpLOuQlyH3nT.pgp
Description: PGP signature