Debian users have tried out installing more recent SyncEvolution
packages and ran into issues that apply to all distros shipping
SyncEvolution. I'd like to raise awareness of these issues and discuss
how to solve them.
SyncEvolution depends on features in recent libsynthesis, for example
additional XML tags. Running SyncEvolution with an old libsynthesis will
trigger XML parser errors.
First problem: because the ABI of libsynthesis has not changed, the
soname of libsynthesis has not been changed either. If I had, older code
using libsynthesis would have unnecessarily been prevented from using
the more recent libsynthesis. To solve this, add versioned dependencies
to your SyncEvolution packages. To be on the safe side, please assume
that SyncEvolution always depends on the version of libsynthesis that it
is bundled with.
Second problem: syncevo-dbus-server might be running while packages are
updated, which leads to the situation that it uses an old libsynthesis
I'm not entirely sure how to solve that second problem. I could try
dynamic loading of libsynthesis, but that only covers the libsynthesis
dependency and not the update of SyncEvolution itself, nor of any of the
other shared libraries in use by the process. If anyone has suggestions
for how user-space restarts are meant to be handled by distros, then
please let me know.
Best Regards, Patrick Ohly
The content of this message is my personal opinion only and although
I am an employee of Intel, the statements I make here in no way
represent Intel's position on the issue, nor am I authorized to speak
on behalf of Intel on this matter.