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

Bug#630698: lintian: package-name-doesnt-match-sonames check does not look in /lib/${DEB_HOST_MULTIARCH}



Package: lintian
Version: 2.5.1
Severity: normal
Tags: patch

With ncurses built for multiarch (no public branch for that available
yet -- sorry), lintian spits out this warning:

,----
| W: libncurses5: package-name-doesnt-match-sonames libform5 libmenu5 libpanel5 libtic5
| N: 
| N:    The package name of a library package should usually reflect the soname
| N:    of the included library. The package name can determined from the
| N:    library file name with the following code snippet:
| N:    
| N:     $ objdump -p /path/to/libfoo-bar.so.1.2.3 | sed -n -e's/^[[:space:]]*SONAME[[:space:]]*//p' | sed -e's/\([0-9]\)\.so\./\1-/; s/\.so\.//'
| N:    
| N:    Refer to Debian Library Packaging Guide chapter 5 (shared library
| N:    packages) for details.
| N:    
| N:    Severity: normal, Certainty: possible
| N:    
| N:    Check: binaries, Type: binary, udeb
| N: 
`----

Note that the libraries lintian complains about are in
/usr/lib/i386-linux-gnu, while libncurses5 is in /lib/i386-linux-gnu:

,----
| $ dpkg-deb -c libncurses5_5.9-2_i386.deb
| drwxr-xr-x root/root         0 2011-06-16 11:44 ./
| drwxr-xr-x root/root         0 2011-06-16 11:44 ./lib/
| drwxr-xr-x root/root         0 2011-06-16 11:44 ./lib/i386-linux-gnu/
| -rw-r--r-- root/root    252780 2011-06-16 11:44 ./lib/i386-linux-gnu/libncurses.so.5.9
| drwxr-xr-x root/root         0 2011-06-16 11:44 ./usr/
| drwxr-xr-x root/root         0 2011-06-16 11:44 ./usr/lib/
| drwxr-xr-x root/root         0 2011-06-16 11:44 ./usr/lib/i386-linux-gnu/
| -rw-r--r-- root/root     51444 2011-06-16 11:44 ./usr/lib/i386-linux-gnu/libtic.so.5.9
| -rw-r--r-- root/root     10740 2011-06-16 11:44 ./usr/lib/i386-linux-gnu/libpanel.so.5.9
| -rw-r--r-- root/root     28884 2011-06-16 11:44 ./usr/lib/i386-linux-gnu/libmenu.so.5.9
| -rw-r--r-- root/root     57964 2011-06-16 11:44 ./usr/lib/i386-linux-gnu/libform.so.5.9
| drwxr-xr-x root/root         0 2011-06-16 11:44 ./usr/share/
| drwxr-xr-x root/root         0 2011-06-16 11:44 ./usr/share/doc/
| drwxr-xr-x root/root         0 2011-06-16 11:44 ./usr/share/doc/libncurses5/
| -rw-r--r-- root/root       530 2011-06-13 15:49 ./usr/share/doc/libncurses5/TODO.Debian
| -rw-r--r-- root/root      2371 2011-06-13 15:49 ./usr/share/doc/libncurses5/FAQ
| -rw-r--r-- root/root      6366 2011-06-13 15:49 ./usr/share/doc/libncurses5/copyright
| -rw-r--r-- root/root     17282 2011-06-13 15:49 ./usr/share/doc/libncurses5/changelog.Debian.gz
| -rw-r--r-- root/root    160818 2011-06-13 15:49 ./usr/share/doc/libncurses5/changelog.gz
| lrwxrwxrwx root/root         0 2011-06-16 11:44 ./lib/i386-linux-gnu/libncurses.so.5 -> libncurses.so.5.9
| lrwxrwxrwx root/root         0 2011-06-16 11:44 ./usr/lib/i386-linux-gnu/libmenu.so.5 -> libmenu.so.5.9
| lrwxrwxrwx root/root         0 2011-06-16 11:44 ./usr/lib/i386-linux-gnu/libpanel.so.5 -> libpanel.so.5.9
| lrwxrwxrwx root/root         0 2011-06-16 11:44 ./usr/lib/i386-linux-gnu/libtic.so.5 -> libtic.so.5.9
| lrwxrwxrwx root/root         0 2011-06-16 11:44 ./usr/lib/i386-linux-gnu/libform.so.5 -> libform.so.5.9
`----

If libncurses.so.5.9 is moved to /usr/lib/i386-linux-gnu as well, the
warning disappears.

It seems this happens because lib_soname_path (in checks/binaries) only
looks in /usr/lib/${DEB_HOST_MULTIARCH} and not
/lib/${DEB_HOST_MULTIARCH}.  The following patch works for me:


--8<---------------cut here---------------start------------->8---
diff --git a/checks/binaries b/checks/binaries
index 7f1fa74..f70b7a8 100644
--- a/checks/binaries
+++ b/checks/binaries
@@ -189,6 +189,7 @@ sub lib_soname_path {
 	return 1 if $path =~ m%^(?:\.?/)?lib/[^/]+$%;
 	return 1 if $path =~ m%^(?:\.?/)?usr/lib/[^/]+$%;
 	return 1 if $path =~ m%^(?:\.?/)?usr/X11R6/lib/[^/]+$%;
+	return 1 if defined $dir && $path =~ m%(?:\.?/)?lib/$dir/[^/]++$%;
 	return 1 if defined $dir && $path =~ m%(?:\.?/)?usr/lib/$dir/[^/]++$%;
     }
     return 0;
--8<---------------cut here---------------end--------------->8---


-- System Information:
Debian Release: wheezy/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (101, 'experimental')
Architecture: i386 (x86_64)

Kernel: Linux 3.0.0-rc3-nouveau (SMP w/2 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages lintian depends on:
ii  binutils              2.21.52.20110606-2 The GNU assembler, linker and bina
ii  bzip2                 1.0.5-6            high-quality block-sorting file co
ii  diffstat              1.54-1             produces graph of changes introduc
ii  file                  5.04-5+b1          Determines file type using "magic"
ii  gettext               0.18.1.1-3         GNU Internationalization utilities
ii  intltool-debian       0.35.0+20060710.1  Help i18n of RFC822 compliant conf
ii  libapt-pkg-perl       0.1.24+b2          Perl interface to libapt-pkg
ii  libclass-accessor-per 0.34-1             Perl module that automatically gen
ii  libdigest-sha-perl    5.62-1             Perl extension for SHA-1/224/256/3
ii  libdpkg-perl          1.16.1             Dpkg perl modules
ii  libemail-valid-perl   0.184-1            Perl module for checking the valid
ii  libipc-run-perl       0.89-1             Perl module for running processes
ii  libparse-debianchange 1.2.0-1            parse Debian changelogs and output
ii  libtimedate-perl      1.2000-1           collection of modules to manipulat
ii  liburi-perl           1.58-1             module to manipulate and access UR
ii  locales               2.13-7             Embedded GNU C Library: National L
ii  man-db                2.6.0.2-1          on-line manual pager
ii  perl [libdigest-sha-p 5.12.3-7+b1        Larry Wall's Practical Extraction 
ii  unzip                 6.0-4              De-archiver for .zip files

lintian recommends no packages.

Versions of packages lintian suggests:
pn  binutils-multiarch            <none>     (no description available)
ii  dpkg-dev                      1.16.1     Debian package development tools
ii  libhtml-parser-perl           3.68-1+b1  collection of modules that parse H
ii  libtext-template-perl         1.45-2     Text::Template perl module
ii  man-db                        2.6.0.2-1  on-line manual pager
ii  xz-utils                      5.0.0-2    XZ-format compression utilities

-- no debconf information



Reply to: