[Pkg-electronics-devel] libtool/shlibdeps problem with plugins Was: preparation of gnucap-python 0.0.2-2

Felix Salfelder felix at salfelder.org
Fri Jan 18 11:47:12 GMT 2019


On Thu, Jan 17, 2019 at 07:01:45PM +0100, Carsten Schoenert wrote:
> dh_shlibdeps [is] is smart enough to distinguish between the
> symbols from the package itself and "external" symbols.

Yet it does not work when plugins are involved. Now I can demonstrate it.

i have prapared an "shlibs" branch in the packageing repo with one
commit. see below/please try.

regards
felix

=====
commit adb7aa4ea755b0ca13a20d3dd8d6cc5208c92294
Author: Felix Salfelder <felix at salfelder.org>
Date:   Fri Jan 18 09:48:51 2019 +0000

    try something to avoid shlibdeps warnings.
    
    it seems that shlibdeps is not handling symbols in plugins cleanly.
    these should be ignored, but they arent. instead we are getting a
    million of warning, and the advice to ignore these (in the dh manual).
    There is reason to be unhappy about this.
    
    this commit helps shlibdeps identify the plugins as plugins with higher
    accuracy by dropping the SONAME, as pointed out in the dh manual. this
    actually suppresses the warnings, but due to the hack nature of this
    demo raises other problems, such as no SONAME where it is needed.
    
    it is now more obvious that there is no problem with either
    gnucap-python nor the packageing, but with the toolchain. we are in a
    corner case between libtool behaviour and dpkg-shlibdeps, which cannot
    an will not be fixed in gnucap-python (unless a simple tweak is found).
    
    FTR, dpkg-shlibdeps(1) says
    """
    In theory a plugin doesn't have any SONAME. [..]
    If the binary is really a plugin, then disregard [the] warning.
    """
    
    the behaviour/issue/bug in libtool is also known [1]
    """
    If libtool is setting an SONAME when you build with -module, then I guess
    this would be a bug in the version of libtool you're using.
    """
    
    [1] https://lists.debian.org/debian-mentors/2005/08/msg00077.html

diff --git a/debian/rules b/debian/rules
index 9cb9cc9..2378532 100755
--- a/debian/rules
+++ b/debian/rules
@@ -24,6 +24,7 @@ endif
 build: build-arch build-indep
 
 ab-python%:
+ sed -e '/^archive_/s/\\\$$wl-soname.*soname//' -i build$*/libtool
  dh_auto_build --builddirectory=build$*
 
 ac-python%:




More information about the Pkg-electronics-devel mailing list