Re: [Evolution-hackers] EDS ABI changes in 2.24?!

2008-10-05 Thread Patrick Ohly
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?!

2008-10-05 Thread Srinivasa Ragavan
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?!

2008-10-04 Thread Rob Bradford
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?!

2008-10-04 Thread Matthew Barnes
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