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: