Subject: lintian: regex error in dev-pkg-without-shlib-symlink

From: Leo 'costela' Antunes <[email-masked]>
Date: Sat, 08 Sep 2012 16:42:24 +0200

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

Hi,

The attached patch fixes two small issues affecting the
dev-pkg-without-shlib-symlink check:
1) a missing '+' in the regex for libtool-style filenames
2) the order of regex substitutions: the first one would never match since it assumed the second had already been performed.

Cheers

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

Kernel: Linux 3.4-trunk-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=pt_BR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages lintian depends on:
ii  binutils                       2.22-7.1
ii  bzip2                          1.0.6-4
ii  diffstat                       1.55-3
ii  file                           5.11-2
ii  gettext                        0.18.1.1-9
ii  hardening-includes             2.2
ii  intltool-debian                0.35.0+20060710.1
ii  libapt-pkg-perl                0.1.26+b1
ii  libarchive-zip-perl            1.30-6
ii  libc-bin                       2.13-35
ii  libclass-accessor-perl         0.34-1
ii  libclone-perl                  0.31-1+b2
ii  libdigest-sha-perl             5.71-1
ii  libdpkg-perl                   1.16.8
ii  libemail-valid-perl            0.190-1
ii  libipc-run-perl                0.92-1
ii  libparse-debianchangelog-perl  1.2.0-1
ii  libtimedate-perl               1.2000-1
ii  liburi-perl                    1.60-1
ii  locales                        2.13-35
ii  man-db                         2.6.2-1
ii  patchutils                     0.3.2-1.1
ii  perl [libdigest-sha-perl]      5.14.2-13

lintian recommends no packages.

Versions of packages lintian suggests:
ii  binutils-multiarch     2.22-7.1
ii  dpkg-dev               1.16.8
ii  libhtml-parser-perl    3.69-2
pn  libperlio-gzip-perl    <none>
ii  libtext-template-perl  1.45-2
ii  lzma                   9.22-2
ii  man-db                 2.6.2-1
ii  xz-utils [lzma]        5.1.1alpha+20120614-1

-- no debconf information
--- orig/checks/shared-libs     2012-09-08 16:34:47.000000000 +0200
+++ new/checks/shared-libs      2012-09-08 16:33:31.000000000 +0200
@@ -231,10 +231,10 @@
         }
     }

-    # libtool "-release" variant
-    $link_file =~ s/-[\d\.]\.so$/.so/o;
     # determine shlib link name (w/o version)
     $link_file =~ s/\.so.+$/.so/o;
+    # libtool "-release" variant
+    $link_file =~ s/-[\d\.]+\.so$/.so/o;

     # shlib symlink may not exist.
     # if shlib doesn't _have_ a version, then $link_file and $shlib_file will

---

From: Niels Thykier <[email-masked]>
Date: Fri, 14 Sep 2012 14:48:06 +0200

Hi,

> 1) a missing '+' in the regex for libtool-style filenames

This appears to be right.

> [...]

But I am not certain about this part.  I believe it is intentional to do
it in that order based on:

"""
Tag: package-name-doesnt-match-sonames
Severity: normal
Certainty: possible
Info: [...]
 .
  $ [...] sed -r -e's/([0-9])\.so\./\1-/; s/\.so(\.|$)//; [...]
                      ^^^^^^^^^^^^^^^^^     ^^^^^^^^^^
"""

I believe that only one of them are supposed to match.

~Niels