From: Martin H. <mar...@si...> - 2012-08-23 08:48:24
|
Dear Rene, > > On Wed, Aug 22, 2012 at 04:18:07PM +0700, Martin Hosken wrote: > > > The next version of the graphite engine (1.2.0) will have some new API functions added and some deprecated. As a result we need to increase the interface number and we can also increase the age (since we aren't changing or deleting any functions). > > > > Forgive me, but what ends up as/in the SONAME as of those? > > > > > Thus we are going from 2.0.0 to 3.0.1 (this is separate from the release numbering scheme). > > > > Ah, so this will be -3.0.1 as SONAME then. Bad. Having dug a bit and found out what we did wrong with the libgraphite2.so.2.0.0, I'm expecting the SONAME to be libgraphite2.so.3 and not have the other bits in the name (i.e. it won't be libgraphite2.so.3.0.1). The library file will be libgraphite2.so.3.0.1. And everything will be as expected. To some extent it's up to you as packager whether you want to put in a lintian override on this, to allow package names that don't include interface numbers, or not. When we remove the deprecated functions then the interface number will need to bump again (although I am reluctant to cause an API bump just to remove functions, unless we have no choice) to 4.0.0 and so on. I'm not expecting us to remove anything deprecated within a year. Anyway I think we have sorted out the SONAME problem even if it isn't as quiet as you might like. I think the age strategy may possibly be handled in packaging by: making libgraphite2-3 obsolete libgraphite2-2.0.0 and also provide libgraphite2-2.0.0 and then have the package copy the libgraphite2.so.3 link as libgraphite2.so.2.0.0, thus we would end up with something like: libgraphite2.so.3.0.1 libgraphite2.so.3 -> libgraphite2.so.3.0.1 libgraphite2.so -> libgraphite2.so.3 libgraphite2.so.2.0.0 -> libgraphite2.so.3.0.1 I'm assuming this is more easily handled in packaging than in cmake, but if you want us to do it in the cmake, we can. Despite my attempts at possible solutions, it's you doing the packaging and getting the final say on that :) Yours, Martin |