Re: [Evolution-hackers] EDS ABI changes in 2.24?!
On Sat, 2008-10-04 at 15:07 +0100, Rob Bradford wrote: > On Sat, 2008-10-04 at 10:57 +0200, Patrick Ohly wrote: > > Why was it necessary to break backwards compatibility? [...] > For reference the bug in question is #465374. If we had linked > libedataserver to libebackend we'd still have the same licensing > problem. Okay, I see. The bug tracker entry clarifies the change and I agree that it was necessary, I just wish that it had been handled a bit better (mentioned on the list beforehand, bug number included in the change log, ABI changed mentioned in 2.24 release announcement). I don't think we need to discuss this further, but let's keep it in mind. I guess I'll avoid the hard dependency on a specific libedataserver via ldopen/dlsym. I might go all the way and wrap all the EDS functions that I call; I have a hunch that this might allow me to provide just one binary release because the functions that SyncEvolution depends on haven't changed for a while (need to test this, of course). -- Bye, Patrick Ohly -- [EMAIL PROTECTED] http://www.estamos.de/ ___ Evolution-hackers mailing list Evolution-hackers@gnome.org http://mail.gnome.org/mailman/listinfo/evolution-hackers
Re: [Evolution-hackers] EDS ABI changes in 2.24?!
On Sat, 2008-10-04 at 10:57 +0200, Patrick Ohly wrote: > Can such ABI changes please be discussed on this list? I'm interested to > hear about them beforehand and won't notice them if they are only > discussed on IRC or in a bug tracker entry; there may be others in the > same position. Thanks! > Sure. I would make sure that such things come up on the list here-on. Infact I'm doing it for Camel for 2.24. > In 2006 Michael Meeks wrote on this list that "I -thought- we had some > agreement written in blood that the e-d-s ABI was now frozen." and in > the camel Bugzilla entry #543389 Srinivasa again confirmed that "we > support libebook/libecal as supported APIs". Does that include > libedataserver? > > That library is necessary when handling more than just the default data > sources because it provides the e_source_* calls. Therefore I consider > it part of the libebook/libecal API - agreed? > > I think I agree to that. Just that it wasn't explicit. -Srini. ___ Evolution-hackers mailing list Evolution-hackers@gnome.org http://mail.gnome.org/mailman/listinfo/evolution-hackers
Re: [Evolution-hackers] EDS ABI changes in 2.24?!
On Sat, 2008-10-04 at 10:57 +0200, Patrick Ohly wrote: > Hello! > A user just alerted me of the fact that he cannot use the precompiled > SyncEvolution binaries on Ubuntu Intrepid, which ships Evolution 2.24. > The reason is that the version of libedataserver was bumped from > current/revision/age 10/0/1 to 11/0/0 as part of the r8703 commit (log > message quoted below). > > Why was it necessary to break backwards compatibility? The log message > doesn't say. It mentions that some code was moved into a new library > (libebackend?), but that alone doesn't necessarily break the backward > compatibility: libedataserver1.2 could have been linked against > libebackend. That way any symbol originally provided by > libedataserver1.2-9 would still have been found. It doesn't matter in > which library the symbol really is, because both libraries would be > loaded and searched automatically. For reference the bug in question is #465374. If we had linked libedataserver to libebackend we'd still have the same licensing problem. > Is there still a chance to mitigate the effect of this change? > Downgrading the version as suggested above would be the most obvious > solution, but unfortunately libedataserver-1.2.so.11 has been released > already :-/ > > Another solution would be to create a libedataserver-1.2.so.9 symlink as > part of the EDS installation. But then packagers still would have to be > aware of it and declare that the package provides > libedataserver-1.2.so.9. I don't think that Debian/Ubuntu would find this acceptable. I expect other distributions would also have objections. > > Can such ABI changes please be discussed on this list? I'm interested to > hear about them beforehand and won't notice them if they are only > discussed on IRC or in a bug tracker entry; there may be others in the > same position. Thanks! Sounds like a good idea. Cheerio, Rob ___ Evolution-hackers mailing list Evolution-hackers@gnome.org http://mail.gnome.org/mailman/listinfo/evolution-hackers
Re: [Evolution-hackers] EDS ABI changes in 2.24?!
On Sat, 2008-10-04 at 10:57 +0200, Patrick Ohly wrote: > Why was it necessary to break backwards compatibility? The log message > doesn't say. It mentions that some code was moved into a new library > (libebackend?), but that alone doesn't necessarily break the backward > compatibility: libedataserver1.2 could have been linked against > libebackend. That way any symbol originally provided by > libedataserver1.2-9 would still have been found. It doesn't matter in > which library the symbol really is, because both libraries would be > loaded and searched automatically. Hi Patrick, The story behind libebackend is here: http://bugzilla.gnome.org/show_bug.cgi?id=465374 Basically it boils down to a licensing issue between Berkeley DB and the rest of Evolution-Data-Server. We want to limit Berkeley DB linkage to only those parts of Evolution-Data-Server that actually need it, which does not include libedataserver. You make an entirely valid point about at least announcing API/ABI breaks to the list beforehand. ACAICT there was no announcement or discussion of the libedataserver breakage on either list. I'll bring this up in the next team meeting. Matthew Barnes ___ Evolution-hackers mailing list Evolution-hackers@gnome.org http://mail.gnome.org/mailman/listinfo/evolution-hackers