Skip to content

Debianization refactored

the-very requested to merge github/fork/vitalyisaev2/master into master

Created by: vitalyisaev2

Hello, Danil! Please consider merging this patch. It provides fixes for some problems with distribution of your library on Debian-based platforms. Unfortunately, handystats library was debianized in a quite strange way. The most confusing error is missing of SOVERSION in the library's file name.

In our team we currently have more than 10 С++ projects that link against handystats. As you know, in the end of build process (initiated with debuild command) dh_shlibdeps macros starts in order to derive binary dependencies for the fresh deb package. So every time we build these project, this kind of error appears:

dpkg-shlibdeps: warning: can't extract name and version from library name 'libhandystats.so'

That's because *.so files are usually just a symbolic links on debian systems. System-wide shared libraries have other naming conventions (you can find details here). This results in missing Depends: content of our own deb packages that depend on handystats.

Changes:

  1. cdbs is replaced with debhelper;
  2. Main package is renamed according to the Debian conventions;
  3. libdevel and debug packages are added;
  4. SOVERSION is handled properly;
  5. Library version is mentioned in CMakeLists.txt and symlinks;
  6. License errors and warnings is fixed;
  7. TARGET_LINK_LIBRARIES is complemented.

Please note that the package is renamed, so it will affect all the dependent projects (if they are built under Debian platform of course).

Merge request reports