Debianization refactored
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:
-
cdbs
is replaced withdebhelper
; - Main package is renamed according to the Debian conventions;
- libdevel and debug packages are added;
-
SOVERSION
is handled properly; - Library version is mentioned in
CMakeLists.txt
and symlinks; - License errors and warnings is fixed;
-
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).