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

Improper shared lib package (SONAME contains python version)



Dear all,

  I am starring at the libvtk6 package:

https://packages.debian.org/sid/amd64/libvtk6/filelist

  This package provides 363 shared lib (SOVERSION set to the same
value). However as per policy:

https://www.debian.org/doc/debian-policy/ch-sharedlibs.html#s-sharedlibs-runtime

[...]
If you have several shared libraries built from the same source tree,
you may lump them all together into a single shared library package
provided that all of their SONAMEs will always change together. Be
aware that this is not normally the case, and if the SONAMEs do not
change together, upgrading such a merged shared library package will
be unnecessarily difficult because of file conflicts with the old
version of the package. When in doubt, always split shared library
packages so that each binary package installs a single shared library.
[...]

Reading this section make me feel that lib such as:

$ readelf -d libvtkImagingColorPython27D-6.1.so.6.1.0

Dynamic section at offset 0xa020 contains 32 entries:
  Tag        Type                         Name/Value
 0x0000000000000001 (NEEDED)             Shared library:
[libvtkImagingColor-6.1.so.6.1]
 0x0000000000000001 (NEEDED)             Shared library:
[libvtkWrappingPython27Core-6.1.so.6.1]
 0x0000000000000001 (NEEDED)             Shared library:
[libvtkImagingCorePython27D-6.1.so.6.1]
 0x0000000000000001 (NEEDED)             Shared library:
[libvtkCommonExecutionModelPython27D-6.1.so.6.1]
 0x0000000000000001 (NEEDED)             Shared library: [libpython2.7.so.1.0]
 0x0000000000000001 (NEEDED)             Shared library:
[libvtkCommonCore-6.1.so.6.1]
 0x0000000000000001 (NEEDED)             Shared library: [libstdc++.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
 0x000000000000000e (SONAME)             Library soname:
[libvtkImagingColorPython27D-6.1.so.6.1]


Should be removed from the package since the SONAME will change when
python 2.7 will not be the default python version (for example).
Indeed the SONAME contains the Python version (per upstream
convention).

However the debian policy does not make it a strict requirement.

Comments ?


Reply to: