Il giorno mar, 09/03/2010 alle 18.41 +0100, Pietro Battiston ha scritto:
> Il giorno mar, 09/03/2010 alle 09.23 -0800, Patrick Ohly ha scritto:
> > On Tue, 2010-03-09 at 15:58 +0000, Patrick Ohly wrote:
> > > On Tue, 2010-03-09 at 13:22 +0000, David Bremner wrote:
> > > > On Mon, 2010-03-08 at 15:27 -0800, Pietro Battiston wrote:
> > > > > What hence I'm asking is: do you think there is any particular reason
> > > > > why this brand new libsynthesis should have incompatibilities with an
> > > > > older (0.9.1+ds1-1) version of syncevolution?
> > > >
> > > > When I tried downgrading syncevolution w/o downgrading libsynthesis, I
> > > > got
> > > >
> > > > ,----
> > > > | Fatal: Cannot connect to datastore implementation module specified in
> > > > <plugin_module>
> > > > | Fatal error 20010, no valid configuration could be read from XML file
> > > > | [ERROR] Synthesis XML config parser error
> > > > `----
> > >
> > > I can reproduce it, but not explain it. I traced it down to the new
> > > engine expecting the "ReadBlob" function to be provided (which it isn't)
> > > despite SyncEvolution saying that it doesn't support it
> > > ("plugin_datablob:no").
> >
> > The root cause is in this commit:
> >
> > commit d9b59bad47fedba0a74240c394c2f7f3dc9b4f7f
> > Author: Beat Forster <[email protected]>
> > Date: Thu Dec 3 19:03:07 2009 +0100
> >
> > JNI/Java: Several bug fixes and enhancements - Preparing com/sysync
> > package
> >
> >
> > d9b59bad (Beat Forster 2009-12-03 19:03:07 +0100 833) cAppCharP
> > vda= Plugin_DS_Admin;
> > d9b59bad (Beat Forster 2009-12-03 19:03:07 +0100 834) if (!Supported(
> > VP_InsertMapItem )) vda= Plugin_DS_Admin_OLD;
> > d9b59bad (Beat Forster 2009-12-03 19:03:07 +0100 835) cAppCharP
> > vdd= Plugin_DS_Data;
> > d9b59bad (Beat Forster 2009-12-03 19:03:07 +0100 836) if (!Supported(
> > VP_FLI_DSS )) vdd= Plugin_DS_Data_OLD2;
> > d9b59bad (Beat Forster 2009-12-03 19:03:07 +0100 837) if (!Supported(
> > VP_ResumeToken )) vdd= Plugin_DS_Data_OLD1;
> > d9b59bad (Beat Forster 2009-12-03 19:03:07 +0100 838) cAppCharP
> > vdb= Plugin_DS_Blob;
> > d9b59bad (Beat Forster 2009-12-03 19:03:07 +0100 839) if (!Supported(
> > VP_BLOB_JSignature )) vdb= Plugin_DS_Blob_OLD2; // new BLOB signature
> > d9b59bad (Beat Forster 2009-12-03 19:03:07 +0100 840) if (!Supported(
> > VP_DeleteBlob )) vdb= Plugin_DS_Blob_OLD1;
> >
> > I end up with vdb = Plugin_DS_Blob_OLD2 = "plugin_datablob_OLD2". This
> > is later checked in FlagOK(). Because there is no explicit
> > "plugin_datablob_OLD2=no" in SyncEvolution, the Synthesis engine tries
> > to find the ReadBlob function and fails.
> >
> > I'm not sure what a proper solution is. It seems to me that instead of
> > renaming the "plugin_datablob" string by appending "_OLD2", the engine
> > should have introduced a "plugin_datablob_NEW" version.
> >
> > > I'm running out of time now. The next step would be to find the oldest
> > > libsynthesis that still works with 0.9.1. But I wonder whether that is
> > > really useful?
> >
> > Attached is a minimal patch which makes the most recent libsynthesis
> > (and thus 3.4.0.5+ds1-1) work again with SyncEvolution 0.9.1. I suspect
> > that it might break SyncEvolution 1.0 which does support blobs
> > (presumably using the current blob API), but that is a problem that we
> > can deal with later.
> >
> > Pietro, is this something that could be added to the Ubuntu .deb of
> > libsynthesis as a quick fix? The only alternatives that I see are:
> > * fall back to libsynthesis_3.2.0.35
> > * recompile 0.9.1 with libsynthesissdk.a from 3.2.0.45 (untested!)
> > * upgrade SyncEvolution to 1.0 beta
> >
> > 1.0 beta works because the if (!Supported()) checks result in false and
> > thus vdb remains at "plugin_datablob". I suspect that this might also
> > work when compiling 0.9.1 with a more recent libsynthesissdk.a.
> >
>
>
> Thank you very much for your attention... I will certainly test the
> patch, once you do attach it, and then ask to the Ubuntu developers what
> option they prefer!
(to avoid misunderstanding: once _you_ attach the patch; and then _I_
will happily contact Ubuntu developers)
Pietro
_______________________________________________
SyncEvolution mailing list
[email protected]
http://lists.syncevolution.org/listinfo/syncevolution