[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: shlibdeps and duplicate-relation depends warnings



Morning and happy holidays.

Try dh_shlibdeps -l./debian/mplayer-libs-package/usr/lib in
./debian/rules (where that is the directory into which shared
libraries are installed).  Read about it in dh_shlibdeps(1).
Diversions will certainly make it messy ..  maybe you shouldn't build
mplayer on a machine with those diversions?

The duplicate depends are a result of Debian figuring out dependencies
for you (I think).  It runs objdump on all the libraries and binaries
and discovers dependencies that way, and those depends are inserted in
place of ${shlibdeps} (or some such) in ./debian/control.  So, you
don't need to manually list everything there (otherwise it *will* be a
duplicate).

Justin

On Sat, Dec 25, 2004 at 01:51:06PM +0200, George Danchev wrote:
> Hello, 
> 
> Marry Christmas and Heppy New Year to all of you.
> 
> I'm trying to update and fix the packaging of MPlayer, but I stumpble with 
> some issues and I want to get consulted by you. In case you want to take a 
> look my debian/ directory is here (this is what comes from mplayer cvs, but I 
> have tweaked some files in there): 
> svn co http://svn.openfmi.net/debian-addons-bg/trunk/mplayer-1.0/
> which i use againts the mplayer's upstream sources from their cvs.
> 
> (Note: I'm not trying to put MPlayer in Debian I just want to track down and 
> understand the packaging issues involved)
> 
> Here is the output after invoking debuild:
> 
> dh_shlibdeps
> dpkg-shlibdeps: warning: diversions involved - output may be incorrect
>  diversion by nvidia-glx from: /usr/lib/libGL.so.1
> dpkg-shlibdeps: warning: diversions involved - output may be incorrect
>  diversion by nvidia-glx to: /usr/share/nvidia-glx/diversions/libGL.so.1
> dpkg-shlibdeps: warning: diversions involved - output may be incorrect
>  diversion by nvidia-glx from: /usr/lib/libGL.so.1
> dpkg-shlibdeps: warning: diversions involved - output may be incorrect
>  diversion by nvidia-glx to: /usr/share/nvidia-glx/diversions/libGL.so.1
> dpkg-shlibdeps: warning: diversions involved - output may be incorrect
>  diversion by nvidia-glx from: /usr/lib/libGL.so.1
> dpkg-shlibdeps: warning: diversions involved - output may be incorrect
>  diversion by nvidia-glx to: /usr/share/nvidia-glx/diversions/libGL.so.1
> 
> 1) Perhaps I need to pass some build option (to configure) not to link against 
> these objects. 
> 
> dpkg-shlibdeps: warning: unable to find dependency information for shared 
> library libdha (soname 1.0, path /usr/lib/libdha.so.1.0, dependency field 
> Depends)
> dpkg-shlibdeps: warning: unable to find dependency information for shared 
> library libdha (soname 1.0, path /usr/lib/libdha.so.1.0, dependency field 
> Depends)
> dpkg-shlibdeps: warning: unable to find dependency information for shared 
> library libdha (soname 1.0, path /usr/lib/libdha.so.1.0, dependency field 
> Depends)
> dpkg-shlibdeps: warning: unable to find dependency information for shared 
> library libdha (soname 1.0, path /usr/lib/libdha.so.1.0, dependency field 
> Depends)
> dpkg-shlibdeps: warning: unable to find dependency information for shared 
> library libdha (soname 1.0, path /usr/lib/libdha.so.1.0, dependency field 
> Depends)
> dpkg-shlibdeps: warning: unable to find dependency information for shared 
> library libdha (soname 1.0, path /usr/lib/libdha.so.1.0, dependency field 
> Depends)
> dpkg-shlibdeps: warning: unable to find dependency information for shared 
> library libdha (soname 1.0, path /usr/lib/libdha.so.1.0, dependency field 
> Depends)
> dpkg-shlibdeps: warning: unable to find dependency information for shared 
> library libdha (soname 1.0, path /usr/lib/libdha.so.1.0, dependency field 
> Depends)
> dpkg-shlibdeps: warning: unable to find dependency information for shared 
> library libdha (soname 1.0, path /usr/lib/libdha.so.1.0, dependency field 
> Depends)
> dpkg-shlibdeps: warning: unable to find dependency information for shared 
> library libdha (soname 1.0, path /usr/lib/libdha.so.1.0, dependency field 
> Depends)
> dpkg-shlibdeps: warning: unable to find dependency information for shared 
> library libdha (soname 1.0, path /usr/lib/libdha.so.1.0, dependency field 
> Depends)
> 
> 2) I guess I have to pass something to dh_shlibdeps, but still not sure what 
> the contents should be. Do I need a separate shlibdeps file describing some 
> dependency information ?
> 
> dh_gencontrol
> dh_md5sums
> dh_builddeb
> dpkg-deb: building package `mplayer' in `../mplayer_1.0cvs20041224_i386.deb'.
>  dpkg-genchanges
> dpkg-genchanges: including full source code in upload
> dpkg-buildpackage: full upload; Debian-native package (full source is 
> included)
> Now running lintian...
> W: mplayer source: not-using-po-debconf
> E: mplayer: no-shlibs-control-file usr/lib/libdha.so.1.0
> E: mplayer: postinst-must-call-ldconfig usr/lib/libdha.so.1.0
> W: mplayer: postrm-should-call-ldconfig usr/lib/libdha.so.1.0
> W: mplayer: unquoted-string-in-menu-item /usr/lib/menu/mplayer command:6
> W: mplayer: unquoted-string-in-menu-item /usr/lib/menu/mplayer icon:6
> E: mplayer: menu-icon-too-big /usr/share/icons/mplayer-desktop.xpm: 47x39 > 
> 32x32
> E: mplayer: package-depends-on-multiple-libpng-versions libpng12-0 libpng12-0
> W: mplayer: package-has-a-duplicate-relation depends: libartsc0 (>= 1.3.2), 
> libartsc0
> W: mplayer: package-has-a-duplicate-relation depends: libglib2.0-0 (>= 2.4.7), 
> libglib2.0-0
> W: mplayer: package-has-a-duplicate-relation depends: liblzo1, liblzo1
> W: mplayer: package-has-a-duplicate-relation depends: libsmbclient (>= 
> 3.0.2a-1), libsmbclient
> W: mplayer: package-has-a-duplicate-relation depends: libogg0 (>= 1.1.0), 
> libogg0
> W: mplayer: package-has-a-duplicate-relation depends: libaudiofile0 (>= 
> 0.2.3-4), libaudiofile0
> W: mplayer: package-has-a-duplicate-relation depends: aalib1 (>= 1.2), aalib1
> W: mplayer: package-has-a-duplicate-relation depends: libungif4g (>= 4.1.3), 
> libungif4g
> W: mplayer: package-has-a-duplicate-relation depends: libdv4, libdv4
> W: mplayer: package-has-a-duplicate-relation depends: libgtk1.2 (>= 1.2.10-4), 
> libgtk1.2
> W: mplayer: package-has-a-duplicate-relation depends: libvorbis0a (>= 1.0.1), 
> libvorbis0a
> W: mplayer: package-has-a-duplicate-relation depends: libcdparanoia0 (>= 
> 3a9.8-11), libcdparanoia0
> W: mplayer: package-has-a-duplicate-relation depends: libglib1.2 (>= 1.2.0), 
> libglib1.2
> W: mplayer: package-has-a-duplicate-relation depends: libdirectfb-0.9-20, 
> libdirectfb-0.9-20
> W: mplayer: package-has-a-duplicate-relation depends: libfreetype6 (>= 
> 2.1.5-1), libfreetype6
> W: mplayer: package-has-a-duplicate-relation depends: libpng12-0 (>= 
> 1.2.8rel), libpng12-0
> W: mplayer: package-has-a-duplicate-relation depends: libjpeg62, libjpeg62
> W: mplayer: package-has-a-duplicate-relation depends: libsvga1, libsvga1
> W: mplayer: package-has-a-duplicate-relation depends: libggi2 (>= 1:2.0.5), 
> libggi2
> W: mplayer: package-has-a-duplicate-relation depends: libxv1, libxv1
> W: mplayer: package-has-a-duplicate-relation depends: libncurses5 (>= 5.4-1), 
> libncurses5
> W: mplayer: package-has-a-duplicate-relation depends: libfontconfig1 (>= 
> 2.2.1), libfontconfig1
> W: mplayer: package-has-a-duplicate-relation depends: libasound2 (>> 1.0.5), 
> libasound2
> W: mplayer: package-has-a-duplicate-relation depends: slang1 (>> 1.4.9dbs-4), 
> slang1
> W: mplayer: package-has-a-duplicate-relation depends: libtheora0, libtheora0
> Finished running lintian.
> Now signing changes and any dsc files...
> 
> 3) Is there a systematic way to figure out how to prevent these 
> "package-has-a-duplicate-relation depends" warnings. I guess I have put some 
> extra package in my Depends: field (just examined mplayer's binary with 
> ldd ;-), but how to find out which ones are not necessary and cause these 
> warnings. What are the best practices regarding these issues ?
> 
> Thanks in advance. Will check again the developer's refernece and policy 
> searching out for hints;-)



Reply to: