[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Creating a package with plugins and libs



Hi,

I'm packaging a piece of software that are making me crazy with the lintian 
messages. The piece is rtt-ros-integratiion [1]. An usable package is located 
here [2]. It belongs to the orocos project. 

The question is that the package creates a few libraries in /usr/lib and a 
bunch of small libraries (used as plugins but treated libraries by upstream 
(with pkg-control files, etc).

I have patched upstream code to make SONAMEs in the libraries installed in 
/usr/lib, but I try to avoid to patch upstream to the libraries/plugins 
installed in /usr/lib/orocos.

The problem is that when I create a library (plugin) that is not installed in 
/usr/lib I get this lintian messages:

pkg-has-shlibs-control-file-but-no-actual-shared-libs

Although the package does not include any shared libraries, it does have
 a shlibs control file. If you did include a shared library, check that  
 the SONAME of the library is set and that it matches the contents of the
 shlibs file.

....

binary-or-shlib-defines-rpath 
usr/lib/orocos/gnulinux/rtt_actionlib_msgs/types/librtt-actionlib_msgs-ros-
transport-gnulinux.
 
   The binary or shared library sets RPATH. This overrides the normal
   library search path, possibly interfering with local policy and causing
   problems for multilib, among other issues.
    
...

librtt-ros-msgs-gnulinux2.8: postinst-has-useless-call-to-ldconfig

   The postinst script calls ldconfig even though no shared libraries are
   installed in a directory controlled by the dynamic library loader.

   Note this may be triggered by a bug in debhelper, that causes it to
   auto-generate an ldconfig snippet for packages that does not need it.

   Refer to Debian Policy Manual section 8.1.1 (ldconfig) and
   http://bugs.debian.org/204975 for details.

...

W: librtt-ros-msgs-gnulinux2.8: postrm-has-useless-call-to-ldconfig

   The postrm script calls ldconfig even though no shared libraries are
   installed in a directory controlled by the dynamic library loader.

....


The question is that lintian is doing a good job because that messages are 
correct. However, I would like to say to lintian to "relax" this check because 
that libraries are not "libraries", they are plugins. So:

- how can I avoid that messages without to put a bunch (we are talking about 
>50 plugins) lintian-overrides?

- may I worried of the messages and I'm doing realy something wrong?

Any advice in this topic will be thankful,

Best regards,

Leopold


----
[1] https://github.com/orocos/rtt_ros_integration
[2] http://anonscm.debian.org/cgit/debian-science/packages/orocos/rtt-ros-integration.git/


pkg-has-shlibs-control-file-but-no-actual-shared-libs
lthough the package does not include any shared libraries, it does have
N:    a shlibs control file. If you did include a shared library, check that  
N:    the SONAME of the library is set and that it matches the contents of the
N:    shlibs file.
N: 
N:    SONAMEs are set with something like gcc -Wl,-soname,libfoo.so.0, where 0
N:    is the major version of the library. If your package uses libtool, then 
N:    libtool invoked with the right options should be doing this.
N: 
N:    Note this is sometimes triggered for packages with a private shared
N:    library due to a bug in Debhelper.
N: 
N:    Refer to http://bugs.debian.org/204975 and http://bugs.debian.org/633853
N:    for details.



-- 
--
Linux User 152692     GPG: 05F4A7A949A2D9AA
Catalonia
-------------------------------------
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?

Attachment: signature.asc
Description: This is a digitally signed message part.


Reply to: