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

From: Andreas Metzler <[email-masked]>
Date: Sun, 9 Jun 2013 08:54:31 +0200

Version: 2.5.13

Hello,

libgcrypt11 also suffers from a false positive of the
dev-pkg-without-shlib-symlink test:
----------------
W: libgcrypt11: dev-pkg-without-shlib-symlink lib/i386-linux-gnu/libgcrypt.so.11.8.1 usr/lib/i386-linux-gnu/libgcrypt.so
----------------
(SID)ametzler@argenau:/tmp/GCR/libgcrypt-1.5.2$ find debian/ -path debian/tmp -p
rune -or \( -name libgcrypt.so -or -name libgcrypt.so.11.8.1 \) -print
debian/libgcrypt11-udeb/lib/libgcrypt.so.11.8.1
debian/libgcrypt11/lib/i386-linux-gnu/libgcrypt.so.11.8.1
debian/libgcrypt11-dev/lib/i386-linux-gnu/libgcrypt.so
debian/libgcrypt11-dbg/usr/lib/debug/lib/libgcrypt.so.11.8.1
debian/libgcrypt11-dbg/usr/lib/debug/lib/i386-linux-gnu/libgcrypt.so.11.8.1
----------------
lintian seems to expect the .so symlink in /usr/lib although the
library lives in /lib.

cu Andreas
-- 
`What a good friend you are to him, Dr. Maturin. His other friends are
so grateful to you.'
`I sew his ears on from time to time, sure'

---

From: Jakub Wilk <[email-masked]>
Date: Mon, 10 Jun 2013 23:51:26 +0200

>debian/libgcrypt11-dbg/usr/lib/debug/lib/i386-linux-gnu/libgcrypt.so.11.8.1

Indeed, but that's the documentation behavior. From the tag description:

"The symlink is generally expected in the same directory as the library 
itself. The major exception to this rule is if the library is installed 
in (or beneath) /lib, where the symlink must be installed in the same 
dir beneath /usr.

Example: If the library is installed in /lib/i386-linux-gnu/libXYZ.so.V, 
the symlink is expected at /usr/lib/i386-linux-gnu/libXYZ.so."

The static library and the .so symlink are certainly never needed before 
/usr is mounted, so they should live in /usr/lib, not in /lib.

-- 
Jakub Wilk

---

From: Andreas Metzler <[email-masked]>
Date: Tue, 11 Jun 2013 19:07:01 +0200

On 2013-06-10 Jakub Wilk <[email-masked]> wrote:
[...]
> Example: If the library is installed in
> /lib/i386-linux-gnu/libXYZ.so.V, the symlink is expected at
> /usr/lib/i386-linux-gnu/libXYZ.so."

> The static library and the .so symlink are certainly never needed
> before /usr is mounted, so they should live in /usr/lib, not in
> /lib.

Hello,
I am pretty sure there was a very good reason for keeping everything
in /lib. Let's check...

I see:  It was the fact that there is no correct way to specify
library in /x .so in /y in the libtool .la file.
<https://bugs.launchpad.net/ubuntu/+source/libgcrypt11/+bug/751142>

This should not be an issue anymore, since we do not ship th la file
anymore. I'll try changing it.

Thanks for the explanation, cu Andreas
-- 
`What a good friend you are to him, Dr. Maturin. His other friends are
so grateful to you.'
`I sew his ears on from time to time, sure'