Makefile.common: LTVERSIONFLAGS: remove -release

Generate the soname from LIBVERSION (initially 1:0:0), instead of VERSION.
This means, we have binary compatibility between each major release
(which we should increase if we ever have a breaking change), instead of
forcing a binary incompatibility for each packaged version (also nightly
packages). This is how we do it in other Osmocom projects, too.

Fix nightly RPM packaging, as we now don't need to add the git commit to
the package name:

[  135s] libusrp.i586: E: shlib-policy-name-error (Badness: 10000) libusrp-3_4_4_4_c46f0
[  135s] Your package contains a single shared library but is not named after its
[  135s] SONAME.

The debian package is already using libusrp1 as package name.

Related: https://osmocom.org/projects/cellular-infrastructure/wiki/Make_a_new_release
Change-Id: I1b69aca8f021821961e1265c119b4a591ba2ab3e
osmith/rpm
Oliver Smith 2 years ago
parent f96964eea4
commit 09e0c4bd39
  1. 7
      Makefile.common
  2. 3
      contrib/libusrp.spec.in

@ -36,8 +36,13 @@ AUTOMAKE += -Wno-portability -Wnone
#AM_CFLAGS = @autoconf_default_CFLAGS@ @lf_CFLAGS@
#AM_CXXFLAGS = @autoconf_default_CXXFLAGS@ @lf_CXXFLAGS@
# This is _NOT_ the library release version, it's an API version.
# Please read chapter "Library interface versions" of the libtool documentation
# before making any modifications: https://www.gnu.org/software/libtool/manual/html_node/Versioning.html
LIBVERSION=1:0:0
# Sets ABI version in SONAME and appends -LIBVER to filename
LTVERSIONFLAGS = -version-info 0:0:0 -release $(VERSION)
LTVERSIONFLAGS = -version-info $(LIBVERSION)
# includes
grincludedir = $(includedir)/gnuradio

@ -13,8 +13,7 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
%define sover -3_4_4+git_20190808-0
%define libname libusrp%{sover}
%define libname libusrp1
Name: libusrp
Version: @VERSION@
Release: 0

Loading…
Cancel
Save