4.0 -> 4.1 binary compatibility
Leo Savernik
l.savernik at aon.at
Thu Oct 25 16:58:43 BST 2007
Am Donnerstag, 25. Oktober 2007 schrieb Andreas Pakulat:
> > > Um, no. Only if they want to uninstall 4.0, they would have to remove
> > > all things which depend on 4.0.
> >
> > So the plan is to have two kdelibs installed, a 4.0 one and a 4.1 one?
>
> There is no plan. Also that would be impossible with the current state
> of things because both would have files that have the same installed
> path. So you'd either also need to remove all binaries in kdelibs to
> someting like foo41 or install kdelibs 4.1 into a separate prefix and
> not /usr.
No, it's even worse. Pretended that libkfoo-4.0.0 released under KDE 4.0 is
BICed, you have to bump the soname to libkfoo-5, and consequentially release
a libkfoo-5.0.0 for KDE 4.1. However, as we have to stay binary compatible
for the whole major release series, we have to *retain* libkfoo-4.0.0 for all
binary clients linked against libkfoo-4.0.0.
This effectively means, we have to maintain *two* variants of the library
libkfoo for the whole lifetime of KDE 4, one compat libkfoo-4.0.0 and one
"real" libkfoo-5.x.y where all new development takes place.
Who is going to perform the maintenance of compatibility library variants? Who
is going to ensure that libkfoo actually continues to fulfill the interface
contracts it fulfilled in KDE 4.0? Will two copies of libkfoo's source be
maintained, one legacy, one recent? Will libkfoo-4 be made a small wrapper
around libkfoo-5 and who is going to maintain that? Who is going to prepare
the build system?
It's a nightmare if consequently thought to an end. Therefore, we'd better
avoid it at all costs.
mfg
Leo
More information about the kde-core-devel
mailing list