On Fri, Mar 11, 2005 at 04:34:11PM -0700, Warren Young wrote:
> This will add some overhead to the effort of making each new release.
> The question is, will it be valuable? One would have to have programs
> that link against the full library version, not against libmysqlpp.so or
> libmysqlpp.so.4, for this to be helpful. The idea would be that you can
> install a new version of the library without making all your existing
> binaries use the new version. Personally, I always want my binaries to
> use the newest version, so this feature would be of no value to me.
> Comments, questions, complaints?
I find it confusing that the major version of the library is 4, but
that's not really anything but a mental argument. It technically works
but doesn't tell the administrator anything useful.
I like how I can look at most libraries and tell what version it is just
by the filename.
Multiple versions at once is an administration feature, and would make
a lot of sense when 1.8, 1.9, etc are released so that stable and dev
versions could be run at the same time.
Two different stable installs would also be useful, from a release
point of view (i.e. from Debian/RedHat/Gentoo/etc's point of view):
1.7 and 1.9 could support different legacy apps that require different
So I would recommend that the major part of the version would be
taken from the official version number, using both initial digits.
i.e. "1.7" is the major version, from the library file's perspective.
It's all just symlinks anyway:
libmysqlpp.so -> libmysqlpp.so.1.7
libmysqlpp.so.1.7 -> libmysqlpp.so.1.7.23
Stable releases would have no ABI breakage, and dev versions would
break the ABI at will. We might have more version churn at this rate,
but with a double digit "major" I don't think this would be a problem.
1.7 - stable, major version, no more ABI breakage
- additional versions would be bugfixes
1.7.21, 1.7.23, etc
1.8 - another major version, perhaps a dev tree
1.9 - the next stable
Perhaps a jump in version to an even number for the next stable release
would make things look more like the kernel. :-)