SyncEvolution 1.5.2 released

Patrick Ohly patrick.ohly at intel.com
Thu Nov 10 09:36:06 UTC 2016


About SyncEvolution
===================

SyncEvolution synchronizes personal information management (PIM) data
via various protocols (SyncML, CalDAV/CardDAV, ActiveSync). It syncs
contacts, appointments, tasks and memos. It syncs to web services or to
SyncML-capable phones via Bluetooth. 

Binaries are available for Linux desktops (using GNOME Evolution, or
KDE's Akonadi) and the source code also supports the Trinity Desktop
Environment (TDE).


About 1.5.2
===========

Maintenance release. syncevolution.org binaries are now getting
compiled for distros >= Ubuntu Trusty 14.04 LTS, which allowed
removing several hacks that were needed when building binaries that
also had to run on older distros. Compilation from source for old
distros should still work as before, but is not getting tested
anymore.

Compile problems with recent libraries (libical v2) and tools (GCC v6)
were resolved. Syncing via Bluetooth with certain phones now should
work reliably in incremental mode.

New backends for the Trinity Desktop Environment (TDE) were added to
the source code.

Details:

* ObexTransportAgent.cpp: properly shut down connection (FDO #91485)

  Apparently there's a race condition in the OBEX transport that causes the
  connection to phones via Bluetooth to be shut down prematurely.  Some phones
  react by doing a slow sync instead of an incremental sync the next time.

* support non-readable parent directories (FDO #91000)

  The previous mkdir_p() walked down top to bottom and checked each path
  entry as it went along. That approach failed unnecessarily when some
  existing parent directory could not be read (non-readable /home, for
  example).

* avoid using dbus-launch (Debian #836399)

  dbus-launch is considered deprecated because of the X11 dependency.
  See https://lists.debian.org/debian-devel/2016/08/msg00554.html "Mass bug
  filing: use and misuse of dbus-launch (dbus-x11)"

  The dbus-session.sh script still needs to start the D-Bus daemon when used in the nightly
  testing, so the code now does it by invoking the dbus-daemon directly.

  syncevo-http-server still has some usage of dbus-launch left, but that's
  strictly for systems which don't have the more modern D-Bus.

* syncevo-dbus-server integrates better with systemd (FDO #92164)

  A .service file allows the D-Bus daemon to start the service via systemd,
  thus ensuring that the process environment is correct. Patch from Simon
  McVittie. Auto-starting as part of the desktop login uses D-Bus activation
  if the "dbus-send" tool is installed.

* syncevolution.org: compile on Ubuntu Trusty, libical v1/v2 compatibility

  syncevolution.org binaries are now getting compiled on Ubuntu Trusty and thus
  no longer support distros with older EDS. The code should still compile
  against older EDS (for example, for Maemo), but that is not getting tested
  anymore.

  This allows removing the dynamic linker hacks related to older libraries,
  which was only used in those binaries. Instead, backends using libical or EDS
  get compiled on Ubuntu Trusty and then the soname of those libs get patched to
  make the backend module usable in combination with a different set of
  libs. That patching is part of a script maintained in the syncevolution.org
  build infrastructure.

  This approach was already used before to generate different EDS backends
  for EDS versions with the newer EClient API, because that turned out to be
  easier than the dynamic loading approach. It works because none of the methods
  used by SyncEvolution changed their ABI, only some other parts of the
  libraries did. Should there ever be a situation again that cannot be handled
  like this, then backends also get compiled on different distros than
  Ubuntu Trusty (for example, the ActiveSync backend for Debian Stretch
  is built on Debian Stretch).

  libical still requires one special hack: system time zone loading in
  libical v1 (and only in that version, v2 has builtin support again) must
  be overridden such that time zones are generated with rules instead
  of transitions because that is more compatible with the peers that
  SyncEvolution exchanges data with.

  That hack now relies on overriding the two relevant functions inside the main
  binaries (has to be there, otherwise libical still ends up calling its own
  internal implementation). The overriding code is in
  libsyncevo-icaltz-util.so.0 and depends on libical.so.1. If
  libsyncevo-icaltz-util.so.0 can be loaded, the wrappers in the main binary use
  it, otherwise they fall through to the code from the current libical.so, which
  then should be libical.so.2 or more recent.

  This hack is active by default when libical v1 is detected during configuration.

* optionally show debug output in --version output

  SYNCEVOLUTION_DEBUG=1 syncevolution --daemon=no --version now
  dumps also the debug information gathered by the binary
  compatibility code. It was only available in sync logs before.

* various build fixes for libical v2, GCC v6/C++14


Source, Installation, Further information
=========================================

http://syncevolution.org/blogs/pohly/2016/syncevolution-152-released

Source code bundles for users are available in
  https://download.01.org/syncevolution/syncevolution/sources
and the original source is in the git repositories
  http://cgit.freedesktop.org/SyncEvolution/

i386 and amd64 binaries for Debian-based distributions are
available via the "stable" syncevolution.org repository. Add the
following entry to your /etc/apt/source.list:

    deb https://download.01.org/syncevolution/apt stable main

The GPG key for the repository needs to be imported as root with:

    apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 43D03AD9

The signing key was renewed for this release. If the key was already
added earlier, refresh it with:

    apt-key adv --keyserver keyserver.ubuntu.com --refresh-keys 43D03AD9

Then install "syncevolution-evolution", "syncevolution-kde" and/or
"syncevolution-activesync".

These binaries include the "sync-ui" GTK GUI and were compiled for
Ubuntu 14.04 LTS (Trusty) and should be compatible also with more recent
distros. ActiveSync binaries were compiled for Debian Jessie, the upcoming
Debian Stretch (based on current Testing), and Ubuntu Trusty. The packages
mentioned above are meta-packages which pull in suitable packages matching
the distro during installation.

Older distributions can no longer be supported with precompiled binaries
because of missing or incompatible libraries, but the source should still
compile on older distros.

The same binaries are also available as .tar.gz archives in
https://download.01.org/syncevolution/syncevolution/. In contrast
to 0.8.x archives, the 1.x .tar.gz archives have to be unpacked and the
content must be moved to /usr, because several files would not be found
otherwise. When using activesyncd, run "glib-compile-schemas
/usr/share/glib-2.0/schemas" as root after unpacking the archive.

rpm packages are no longer provided due to lack of demand; SyncEvolution
is provided by Fedora as a distro package.

After installation, follow the
http://syncevolution.org/documentation/getting-started steps.
More specific HOWTOs can be found in the Wiki:
https://syncevolution.org/wiki/howto

-- 
Patrick Ohly, on behalf of everyone who has helped
to make SyncEvolution possible:
http://syncevolution.org/about/contributors




More information about the SyncEvolution mailing list