Package: debhelper
Version: 7.0.15
Severity: minor
Tags: patch

dh_makeshlibs contains the following code to look for shared objects that
should be represented in shlibs:

                if ($objdump=~m/\s+SONAME\s+(.+)\.so\.(.+)/) {
                elsif ($objdump=~m/\s+SONAME\s+(.+)-(.+)\.so/) {

I've seen several different forms of the second regex.  dh_makeshlibs
uses one, Lintian had a different one, and dpkg-shlibdeps had yet another
one.

In investigating handling of unversioned SONAMEs in Lintian, I confirmed
with Raphael Hertzog the regexes used by dpkg-shlibdeps, which are in the
split_soname function in that program.  I just changed Lintian to match,
and I recommend changing dh_makeshlibs as well.  I'm going to propose
canonicalizing the parsing in Debian Policy.

The only significant difference is that dpkg-shlibdeps requires that the
version component in the second regex start with a number and end with .so.
The split_soname function is:

sub split_soname {
    my $soname = shift;
    if ($soname =~ /^(.*)\.so\.(.*)$/) {
        return wantarray ? ($1, $2) : 1;
    } elsif ($soname =~ /^(.*)-(\d.*)\.so$/) {
        return wantarray ? ($1, $2) : 1;
    } else {
        return wantarray ? () : 0;
    }
}

so changing to m/\s+SONAME\s+(.+)-(\d.*)\.so\s*$/ would make the regexes
match the same strings for all practical purposes.

For Lintian, I also changed the .+ regexes to .* to match exactly, but
I can't imagine a legitimate case in which it would make a difference.

-- System Information:
Debian Release: lenny/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)

Kernel: Linux 2.6.26-1-686 (SMP w/1 CPU core)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages debhelper depends on:
ii  binutils            2.18.1~cvs20080103-7 The GNU assembler, linker and bina
ii  dpkg-dev            1.14.23              Debian package development tools
ii  file                4.26-1               Determines file type using "magic"
ii  html2text           1.3.2a-5             advanced HTML to text converter
ii  man-db              2.5.2-3              on-line manual pager
ii  perl                5.10.0-18            Larry Wall's Practical Extraction 
ii  po-debconf          1.0.15               manage translated Debconf template

debhelper recommends no packages.

Versions of packages debhelper suggests:
ii  dh-make                       0.46       tool that converts source archives

-- no debconf information



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to