SyncEvolution 1.3.99.6 released
Patrick Ohly
patrick.ohly at intel.com
Tue Dec 10 08:22:33 UTC 2013
Hello!
This update focuses on SyncEvolution in IVI again. It adds support for
GENIVI Diagnostic Log and Trace (DLT) and enhances searching in the
unified address book.
The biggest change for normal Linux desktop users is enhanced support
for recent distros. Binaries on syncevolution.org now work with EDS >=
3.6 *and* < 3.6. Distros with libical1 like Ubuntu Saucy are also
supported. Automated testing was updated to cover these newer
platforms more thoroughly.
The binaries support Google CalDAV in combination with GNOME Online
Accounts (GOA) >= 3.8 and and Google CardDAV with GOA >= 3.10. To use
CardDAV with GOA 3.8, one has to patch or recompile GOA [1].
Support for Google CalDAV/CardDAV with Ubuntu Online Accounts requires
recompilation of SyncEvolution with one additional patch [2].
[1] http://cgit.freedesktop.org/SyncEvolution/syncevolution/plain/src/backends/goa/README
[2] https://bugs.freedesktop.org/show_bug.cgi?id=72263
Details:
* GNOME Online Accounts: fix D-Bus problem in syncevolution.org binaries
Support was included in syncevolution.org binaries, but was not
tested and did not actually work due to some issue accessing
the D-Bus session.
* libsynthesis: partial fix batching of items
The batching of contact writes introduced with SyncEvolution
1.3.99.4 caused problems with non-SyncEvolution SyncML peers when
syncing contacts stored in EDS >= 3.6. EDS < 3.6 was not affected.
That part is fixed. However, even in SyncEvolution<->SyncEvolution
syncs another crash was found. This will require more investigation.
Clearly the feature is not ready yet for general sync, so for now
it is disabled by default and only enabled in the simpler PBAP
sync.
* libsynthesis: avoid redundant (and sometimes slow) getaddrbyname() (FDO #70771)
The network lookup of the hostname can be slow (10 second delay when
not connected) and shouldn't be necessary anyway, so disable it.
* PIM: accent-insensitive and transliterated search (FDO #56524)
Accent-insensitive search ignores accents, using the same code as in
EDS. Transliterated search ignores foreign scripts by transliterating
search term and contact properties to Latin first. That one is using
ICU directly in the same way as EDS, but doesn't use the EDS
ETransliterator class to avoid extra string copying.
This commit changes the default behavior such that searching is by
default most permissive (case- and accent-insensitive, does
transliteration). Flags exist to restore more restrictive matching.
* PIM: relax phone number matching
Previously, the current default country was used to turn phone numbers
without an explicit country code into full E164 numbers, which then
had to match the search term when doing a caller ID lookup.
This was inconsistent with EDS, where a weaker
EQUALS_NATIONAL_PHONE_NUMBER was done. The difference is that a
comparison between a number with country code matches one without if
the national number of the same, regardless of the current default
country. This is better because it reduces the influence of the hard
to guess default country on matching.
Another advantage of this change is the lower memory consumption and
faster comparison, because strings are now stored in 4 + 8 byte
numbers instead of strings of varying length.
* PIM: fix incorrect write into pim-manager.ini (FDO #70772)
Removing a peer accidentally wrote the updated list of active
address books into the "sort" property of pim-manager.ini, which
then prevented starting the PIM Manager.
* PIM: ignore broken sort order in config (FDO #70772)
Failure to set the sort order from pim-manager.ini should not
prevent the startup of the PIM Manager because the client cannot
really diagnose and fix the problem. It is better to try again with
the default sort order.
* PIM: adapt to locale changes at runtime (FDO #66618)
Listen to signals from localed D-Bus system service and update all
internal state which depends on the current locale. This state includes:
- pre-computed data in all loaded contacts
- filtering (for example, case sensitivity is locale dependent)
- the sort order
This feature can be controlled by setting the SYNCEVOLUTION_LOCALED
env variable:
- "session" - use a localed instance on the D-Bus session bus instead
of the system instance. This was originally meant for
testing, but might also be useful for per-user setting changes.
- "none" - disables the feature
* PIM: fix sync.py + multiple peers
Due to overwriting a variable, configuring multiple different
peers did not work.
* D-Bus server: support DLT (FDO #66769)
Diagnostic Log and Trace (DLT) manages a sequence of log messages,
with remote controllable level of detail. SyncEvolution optionally
(can be chosen at compile time and again at runtime) uses DLT
instead of its own syncevolution-log.html files. See README-DLT.rst
for more information.
To use the feature, configure SyncEvolution with
"--enable-dbus-server=--dlt --no-syslog"
* EDS: enhanced compatibility mode
SyncEvolution compiled for EDS < 3.6 can now also load EDS backends
compiled for EDS >= 3.6. The packaging for syncevolution.org uses
that to bundle EDS backends compiled on different distros in the
same package.
* EDS: SYNCEVOLUTION_EBOOK_QUERY env variable
Setting the SYNCEVOLUTION_EBOOK_QUERY env variable to a valid EBook
query string limits the results to contacts matching that
query. Useful only in combination with --print-items or
--export. Only implemented for EDS >= 3.6.
* EDS: fix compile problem with boost and EDS > 3.36
This fixes the following problem, seen with Boost 1.53.0 on altlinux
when compiling for EDS >= 3.6:
/usr/include/boost/smart_ptr/shared_ptr.hpp: In instantiation of 'typename boost::detail::sp_array_access<T>::type boost::shared_ptr<T>::operator[](std::ptrdiff_t) const [with T = char*; typename boost::detail::sp_array_access<T>::type = void; std::ptrdiff_t = long int]':
src/backends/evolution/EvolutionSyncSource.cpp:163:38: required from here
/usr/include/boost/smart_ptr/shared_ptr.hpp:663:22: error: return-statement with a value, in function returning 'void' [-fpermissive]
make[2]: *** [src/backends/evolution/src_backends_evolution_syncecal_la-EvolutionSyncSource.lo]
* PBAP: add support for obexd 0.48
obexd 0.48 is almost the same as obexd 0.47, except that it dropped
the SetFilter and SetFormat methods in favor of passing a Bluex 5-style
filter parameter to PullAll.
SyncEvolution now supports 4, in words, four different obexd
APIs. Sigh.
This feature was originally announced for SyncEvolution 1.3.99.5,
but not actually included in the code yet.
Upgrading from releases <= 1.3.99.4:
If the value of "username/databaseUser/proxyUser" contains a colon,
the "user:" prefix must be added to the value, to continue treating it
like a plain user name and not some reference to an unknown identity
provider (like "id:", "goa:", "signon:", etc.).
The lookup of passwords in GNOME Keyring was updated slightly in
1.3.99.5. It may be necessary to set passwords anew if the old one is
no longer found.
Upgrading from release 1.2.x:
The sync format of existing configurations for Mobical (aka Everdroid)
must be updated manually, because the server has encoding problems when
using vCard 3.0 (now the default for Evolution contacts):
syncevolution --configure \
syncFormat=text/x-vcard \
mobical addressbook
The Funambol template explicitly enables usage of the
"refresh-from-server" sync mode to avoid getting throttled with 417
'retry later' errors. The same must be added to existing configs
manually:
syncevolution --configure \
enableRefreshSync=TRUE \
funambol
Upgrading from releases before 1.2:
Old configurations can still be read. But writing, as it happens
during a sync, must migrate the configuration first. Releases >= 1.2
automatically migrates configurations. The old configurations
will still be available (see "syncevolution --print-configs") but must
be renamed manually to use them again under their original names with
older SyncEvolution releases.
Source, Installation, Further information
=========================================
http://syncevolution.org/blogs/pohly/2013/syncevolution-13996-released
Source code bundles for users are available in
http://downloads.syncevolution.org/syncevolution/sources
and the original source is in the git repositories
http://cgit.freedesktop.org/SyncEvolution/
i386, lpia and amd64 binaries for Debian-based distributions are
available via the "unstable" syncevolution.org repository. Add the
following entry to your /apt/source.list:
deb http://downloads.syncevolution.org/apt stable main
Then install "syncevolution-evolution", "syncevolution-kde" and/or
"syncevolution-activesync".
These binaries include the "sync-ui" GTK GUI and were compiled for
Ubuntu 8.04 LTS (Hardy), except for "syncevolution-activesync" which
depends on libraries in Debian Squeeze, for example EDS 3.4.
Older distributions like Debian 4.0 (Etch) can no longer be supported
with precompiled binaries because of missing libraries, but the source
still compiles when not enabling the GUI (the default).
The same binaries are also available as .tar.gz and .rpm archives in
http://downloads.syncevolution.org/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.
After installation, follow the
http://syncevolution.org/documentation/getting-started steps.
--
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