Bug#731987: lintian: False positive for sharedobject-in-library-directory-missing-soname
* Niels Thykier <niels@thykier.net>, 2014-10-01, 20:48:
@Jörg: I think shotwell is a true positive.  The binary is - by readelf 
- identified as a shared object.
$ readelf -h  unpack/usr/lib/shotwell-video-thumbnailer | grep Type:
 Type:                              DYN (Shared object file)
Presumably that's because it's a position-independent executable. They 
are identified by readelf as shared libraries because technically they 
ARE shared libraries.
Compare this with (e.g.) /bin/ls, which is an executable.
$ readelf -h  /bin/ls | grep Type:
 Type:                              EXEC (Executable file)
$ readelf -h /bin/dash | grep Type:
 Type:                              DYN (Shared object file)
I think Lintian could assume that if a file has +x bit set, and it 
doesn't have *.so or *.so.* extension, then it wasn't meant to be a 
public shared library. (But maybe there's a better way. IANA ELF 
expert!)
(Personally I find the practice of putting private executables directly 
into /usr/lib/ a little bit odd. I'd expect them in /usr/lib/<package> 
instead.)
--
Jakub Wilk
Reply to: