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

Loading