library versioning
Benedikt Meurer
benedikt.meurer at unix-ag.uni-siegen.de
Sat Jan 22 14:15:04 CET 2005
Brian J. Tarricone wrote:
> [snip]
In short: The problems people have in upgrading to 4.2 and using 4.0 and
4.2 in parallel are most likely caused by the fact that we didn't bump
the libxfce4util major version for 4.2.0. I realized that when I was
preparing 4.2.0, but I didn't want to break it for the release (esp.
since some amazingly complicated Linux distributions use the major
version in the package, and that would have meant to rebuild all
packages, a maintinace nightmare, no wonder that the release of this
distribution is delayed again and again :-), but thats off-topic now).
Concerning the naming issue suggested by Brian, I'd like to explain what
we do with libexo currently, to allow parallel installations of major
versions, and why this isn't suitable for low-level libraries (IMHO):
a) The library is named libexo-<version>.so
b) There's a matching exo-<version>.pc file
c) headers are installed to exo-<version>/ subdir
Currently, the version number is 0.2. Everytime the API is broken
(though thats unlikely to happen now), the version number will be
increased. All applications that used the old library will continue to
work with the old version, but atleast the configure check will have to
be changed to support the new version. Thats all a minor issue for a
high-level library. But for low-level libraries like the Xfce libs, that
can become a problem. Upgrades from one snapshot to another won't be
very smooth in the future; instead of complains about the problems
caused by the missed major version bump, we'll see complains about
missing libxfcegui4-4.3.x.pc or similar. And with all the 3rd party
applications and panel plugins, it doesn't look like a good idea to use
this naming scheme in core libraries.
Benedikt
More information about the Xfce4-dev
mailing list