Hi,
On Tue, 24 Oct 2017, Max wrote:
There's another question related to .deb packaging which emerged recently: how do we update libraries properly?
Let's take concrete example - libosmo-netif, current version is 0.0.7; libversion is 3:0:0
I'd like to release new version: 0.0.8, libversion is 4:0:1
What do I do with debian/?
if there is a SONAME change, the package name should change. The link in the dev package should point to the new version. And ...
The library package named libosmonetif3.install According to https://wiki.debian.org/TransitionBestPractices it should be renamed to libosmonetif4.install because we're changing "current" component of libversion.
... yes, this as well (not only this file but all others that belong to this package as well)
We should also change debian/control to reflect this rename, but what about "Conflicts:" in there? I've tried reading https://debian-handbook.info/browse/stable/sect.package-meta-information.htm... but still not sure how it should be applied in case of shared libraries.
Shall we put libosmonetif3 in Conflicts? Both libosmonetif3 and libosmonetif2? Shall we use /Replaces instead? If so, for which version(s)?
Replaces: is only for two packages with the same functionality, so a Conflicts: would be right. It should be for each version available earlier (there might be an old version left during an upgrade).
Also, am I even reading this in the right place or there're some better docs recommended for Debian library packaging?
The Debian Handbook is written by a well known Debian Developer, so this is a good starting point (though there seems to be no version for Stretch yet). There is even a package called debian-handbook. There is also the Maintainer guide[1] and of course the Debian policy[2].
It would be also nice to have versioned Depends: For example libosmo-netif depends on libosmo-abis, but what would be the minimal version that really satisfies this dependency for the latest libosmo-netif?
Thorsten
[1] https://www.debian.org/doc/manuals/maint-guide/ [2] https://www.debian.org/doc/debian-policy/