[SyncEvolution] SyncEvolution 1.5.1 released
by Patrick Ohly
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), for Maemo (Nokia N900, N9) and Sailfish OS (Jolla
phone).
About 1.5.1
===========
Maintenance release. Binaries now also get compiled for Debian 8.0
"Jessie".
Details:
* avoid time zone issue with Funambol server
The Funambol iCalendar 2.0 parser fails to handle time zones
with quotation marks around the TZID value, which is something
that SyncEvolution started to add in 1.4.99.3. While it is valid
to quote like that, it is not necessary, so avoid quoting in
this case to restore interoperability.
* syncevo-http-server: stop using deprecated twisted.web.error (FDO #90419)
This has become a real problem for example on Fedora 22 where the
old name is no longer available.
* syncevo-http-server: use TLS instead of SSLv3
This fixes a potential security risk and connection problems with clients
that don't support SSLv3 anymore.
* syncing: avoid segfault for invalid text inside items (FDO #90118)
As reported by Canonical, syncing fails if data items contain
text which is not correct UTF-8 in one of the fields that
SyncEvolution logs in the command line output (like SUMMARY of
a calendar event).
That is because the byte string coming from the item is passed
unchecked to the D-Bus implementation for transmission via D-Bus. But
D-Bus strings must be correct UTF-8, so depending on the D-Bus library
in use, one gets a segfault (GIO D-Bus, due to an unchecked NULL
pointer access) or an "out of memory" error (libdbus, which checks for
NULL).
SyncEvolution now replaces invalid bytes with a question mark in its
output while preserving the rest of the text.
* file backend: log item manipulation
Extracting a meaningful description of each item from the Synthesis
engine when updating and adding items is easy to do for items of
certain known types (contacts and calendar items).
* command line: preserve log prefix of target side of local sync
In some cases, the prefix which was supposed to be embedded
in the log messages from the target side of a local sync got
lost on the way to the command line tool.
Primarily this affected the added/updated/deleted messages, as in:
[INFO remote@client] @client/addressbook: started
[INFO remote@client] updating "Joan Doe"
[INFO remote@client] @client/addressbook: received 1/1
* compile fix: use ${PKG_CONFIG} instead of pkg-config.
This fixes the build on Exherbo that only has prefixed versions of
pkg-config.
* WebDAV: handle 403 during Google OAuth authentication
When sending an access token with insufficient scope (for example,
because the Ubuntu Online Accounts service definition was incomplete,
as documented in FDO #86824), Google responds with a 403 "service
denied" error.
This is now dealt with by retrying, just as for a transient 401 error.
* CalDAV: more efficient "is empty" check (FDO #86335)
Since 1.4.99.4, syncing WebDAV collections always checks first
whether there are items in the collections. This was partly done for
slow sync prevention (which is not necessary for empty collections),
partly for the "is the datastore usable" check.
However, this did not take into account that for CalDAV collections,
the entire content gets downloaded for this check. That is because
filtering by item type (VEVENT vs. VJOURNAL) is not implemented
correctly by all servers. So now all CalDAV syncs, whether incremental
or slow, always transfered all items, which is not the
intention (incremental syncs should be fast and efficient).
This release adds a more efficient isEmpty() check: for simple CardDAV
collections, only luid and etag get transferred, as in
listAllItems(). This is the behavior from 1.5.
For CalDAV, a report with a filter for the content type is used and
the transfer gets aborted after the first item, without actually
double-checking the content of the item. This is different from
listAllItems(), which really transfers the content. This extra content
check would only be needed for some old servers (Radical 0.7) and is
not essential, because reporting "not empty" even when empty is safe.
* WebDAV: send Basic Auth via http in some cases (FDO #57248)
It turned out that finding databases on an Apple Calendar server accessed via
http depends on sending Basic Auth even when the server does not ask for it:
without authentication, there is no information about the current principal,
which is necessary for finding the user's databases.
To make this work again, sending the authentication header is now forced for
plain http if (and only if) the request which should have returned the
principal URL fails to include it. This implies sending the same request
twice, but as this scenario should be rare in practise (was only done for
testing), this is acceptable.
* Ubuntu Online Accounts: support plain text credentials
The backend for UOA was rewritten by Alberto Mardegan and now also
can use plain username/password credentials stored in UOA.
* various compiler error and warning fixes
Source, Installation, Further information
=========================================
http://syncevolution.org/blogs/pohly/2015/syncevolution-151-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, lpia 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 B2EC3981
Then install "syncevolution-evolution", "syncevolution-kde" and/or
"syncevolution-activesync".
These binaries include the "sync-ui" GTK GUI and were compiled for
Ubuntu 10.04 LTS (Lucid), except for ActiveSync binaries which were
compiled for Debian Wheezy, Ubuntu Saucy, Ubuntu Trusty an Debian
Jessie. The packages mentioned above are meta-packages which pull in
suitable packages matching the distro during installation.
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
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.
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
1 year, 11 months
[SyncEvolution] syncevolution-kde + akonadi [ERROR syncevo-dbus-server 00:00:00] child process quit because of signal 11
by Vladislav Vorobiev
Hi,
after some upgrades i run in the strage issue.
$ SYNCEVOLUTION_DEBUG=3 syncevolution --sync two-way funambol calendar
[DEBUG 00:00:00] SuspendFlags: (re)activating, currently inactive
[DEBUG 00:00:00] SuspendFlags: activating signal handler(s) with fds 11->10
[DEBUG 00:00:00] SuspendFlags: catch signal 2
[DEBUG 00:00:00] SuspendFlags: catch signal 15
[INFO 00:00:00] addressbook: inactive
[INFO 00:00:00] memo: inactive
[INFO 00:00:00] todo: inactive
[INFO 00:00:00] calendar: starting normal sync, two-way (peer is server)
[INFO 00:00:00] creating complete data backup of datastore calendar before
sync (enabled with dumpData and needed for printChanges)
[ERROR syncevo-dbus-server 00:00:00] child process quit because of signal 11
[DEBUG 00:00:01] SuspendFlags: deactivating fds 11->10
[DEBUG 00:00:01] SuspendFlags: close m_receiverFD 10
[DEBUG 00:00:01] SuspendFlags: close m_senderFD 11
[DEBUG 00:00:01] SuspendFlags: done with deactivation
By starting syncvo-dbus in debug
/usr/libexec/syncevo-dbus-server -o -s --verbosity=3
I get in the console
INFO 00:09:42] calendar: starting normal sync, two-way (peer is server)
[INFO 00:09:42] creating complete data backup of datastore calendar before
sync (enabled with dumpData and needed for printChanges)
[DEBUG syncevo-dbus-server 00:09:43] reading helper combined stdout/stderr
13142 done: <<no error>>
[DEBUG syncevo-dbus-server 00:09:43] helper quit with return code 11, was not
aborted
[DEBUG syncevo-dbus-server 00:09:43] ForkExecParent: child 13142 was signaled
yes, signal 11 (SIGINT=2, SIGTERM=15), int sent no, term sent no
[ERROR syncevo-dbus-server 00:09:43] child process quit because of signal 11
[DEBUG syncevo-dbus-server 00:09:43] helper failed, status code 500 = fatal
error (remote, status 500), child process quit because of signal 11
[DEBUG syncevo-dbus-server 00:09:44] session
/org/syncevolution/Session/2850263211464332447 done, config funambol, not
modified, result 10500
[DEBUG syncevo-dbus-server 00:09:44] auto sync: sync session funambol done,
result 10500 is a permanent failure
[DEBUG syncevo-dbus-server 00:09:44] delaying destruction of session
2850263211464332447 by one minute
[DEBUG syncevo-dbus-server 00:09:44] server is idle
[DEBUG syncevo-dbus-server 00:09:44] D-Bus client :1.289 has disconnected
[DEBUG syncevo-dbus-server 00:09:44] activating idle termination in 600
seconds because idle
[DEBUG syncevo-dbus-server 00:09:44] D-Bus client :1.289 is destructing
[DEBUG syncevo-dbus-server 00:09:50] session 18979675371464332443 expired
[DEBUG syncevo-dbus-server 00:09:50] session
/org/syncevolution/Session/18979675371464332443 deconstructing
[DEBUG syncevo-dbus-server 00:10:03] session 256772771464332444 expired
[DEBUG syncevo-dbus-server 00:10:03] session
/org/syncevolution/Session/256772771464332444 deconstructing
[DEBUG syncevo-dbus-server 00:10:07] session 175690811464332445 expired
[DEBUG syncevo-dbus-server 00:10:07] session
/org/syncevolution/Session/175690811464332445 deconstructing
[DEBUG syncevo-dbus-server 00:10:32] session 2145015271464332446 expired
[DEBUG syncevo-dbus-server 00:10:32] session
/org/syncevolution/Session/2145015271464332446 deconstructing
[DEBUG syncevo-dbus-server 00:10:44] session 2850263211464332447 expired
[DEBUG syncevo-dbus-server 00:10:44] session
/org/syncevolution/Session/2850263211464332447 deconstructing
^C[DEBUG syncevo-dbus-server 00:11:17] SuspendFlags: read 7 from fd 17
[DEBUG syncevo-dbus-server 00:11:17] reveived signal 2
[INFO syncevo-dbus-server 00:11:17] server shutting down because of SIGINT or
SIGTERM
[DEBUG syncevo-dbus-server 00:11:17] Exiting Server::run
[DEBUG syncevo-dbus-server 00:11:17] cleaning up
[DEBUG syncevo-dbus-server 00:11:17] flushing D-Bus connection
[INFO syncevo-dbus-server 00:11:17] terminating, closing logging
[INFO syncevo-dbus-server] terminating
==
$ syncevolution --version
SyncEvolution 1.5.1
using libical.so.1
using libical.so.1
using libbluetooth.so.3
Loading backend library /usr/lib/syncevolution/backends/syncxmlrpc.so
Loading backend library /usr/lib/syncevolution/backends/syncsqlite.so
Loading backend library /usr/lib/syncevolution/backends/syncqtcontacts.so
Loading backend library /usr/lib/syncevolution/backends/syncpbap.so
Loading backend library /usr/lib/syncevolution/backends/syncmaemocal.so
Loading backend library /usr/lib/syncevolution/backends/synckcalextended.so
Loading backend library /usr/lib/syncevolution/backends/syncfile.so
Loading backend library /usr/lib/syncevolution/backends/syncecal.so
Loading backend library /usr/lib/syncevolution/backends/syncebook.so
Loading backend library /usr/lib/syncevolution/backends/syncdav.so
Loading backend library /usr/lib/syncevolution/backends/syncakonadi.so
Loading backend library /usr/lib/syncevolution/backends/providergoa.so
Loading backend library /usr/lib/syncevolution/backends/platformkde.so
Loading backend library /usr/lib/syncevolution/backends/platformgnome.so
Any Ideas?
Best Regards
Vladislav
4 years, 9 months
Re: [SyncEvolution] Debian building packages for syncevolution 1.5.1 and TDE backends
by Tino Mettler
On Mon, Jun 13, 2016 at 16:13:44 +0200, deloptes wrote:
> OK, Thank you Tino,
> I have the feeling you are right. I'll try to build the debian packages on
> the test env, where I will need to install the evolution and kde libs as
> well, so that I'll be able to build all available/suggested backends.
>
> What about merging the code into the syncevolution git tree?
> What is the "official" procedure?
Hi,
that question is better sent to the syncevolution mailing list, as I'm
only the Debian maintainer.
Regards,
Tino
4 years, 9 months
[SyncEvolution] Debug messages
by Alberto Mardegan
Hi!
I'm trying to debug what appears to be an issue in libsignon-glib,
which is used in the signon backend.
In order to debug it, I need to see the output of the g_debug() calls
happening inside that library, but for some reason I can see only one of
them:
==============
$ G_MESSAGES_DEBUG=all SYNCEVOLUTION_DEBUG=1 syncevolution loglevel=1
--daemon=no --sync two-way google-100 ...sources...
[DEBUG 00:00:00] log path -> /home/phablet/.cache/syncevolution, <okay>
[DEBUG 00:00:00] checking log dir /home/phablet/.cache/syncevolution
[DEBUG 00:00:00] logfile:
/home/phablet/.cache/syncevolution/google_+100-2016-06-29-18-04/syncevolution-log.html
[DEBUG syncevo-local-sync 00:00:00] ForkExecChild: connecting to parent
with D-Bus address 11
[DEBUG syncevo-local-sync 00:00:00] child connected to parent
[ERROR @google-100] error code from SyncEvolution access denied (remote,
status 403): could not obtain OAuth2 token:
GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name :1.135
was not provided by any .service files
[ERROR @google-100] error code from SyncEvolution access denied (remote,
status 403): logging into remote service failed: error code from
SyncEvolution access denied (remote, status 403): could not obtain
OAuth2 token: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The
name :1.135 was not provided by any .service files
[DEBUG @google-100 00:00:18] signon-identity.c:636:
identity_session_object_destroyed_cb 636
[ERROR] error code from SyncEvolution access denied (remote, status
403): failure on target side @google-100 of local sync: could not obtain
OAuth2 token: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The
name :1.135 was not provided by any .service files
==============
As you can see, in the logs above there *is* a line coming from
libsignon-glib, but only one, while all the others (which I'm sure are
being executed, and they are all calls to g_debug()) are not visible.
Any idea of what could be the reason?
Ciao,
Alberto
4 years, 9 months
[SyncEvolution] Debian building packages for syncevolution 1.5.1 and TDE backends
by deloptes
Hi again,
1.
the second part of my question is/was what to do with the source code and
what would be the best approach?
I think the code should go into syncevolution repository. TDE packages would
be provided then by TDE.
Is it correct assumption and if yes what is the way for doing it?
2.
Now following your advise I updated the package files, but it failed to
build anyway
here is the config (I copy pasted from my test scripts into debian/rules)
and the errors I got.
I don't get those errors when I compile using automake. I assume this is
something to do with dpkg building shared, but I'll be glad if you could
help
dh_auto_configure -- --prefix=/usr \
--sysconfdir=/etc \
--libexecdir=/usr/lib/x86_64-linux-gnu/syncevolution \
--enable-gui \
--with-rst2man --with-rst2html \
--enable-maintainer-mode \
--enable-core \
--enable-bluetooth \
--enable-tdepimabc \
--enable-tdepimcal \
--enable-tdepimnotes \
--disable-tdewallet \
--enable-sqlite \
--enable-file \
--enable-dav \
--without-gio-gdbus \
--disable-ssl-certificate-check \
--disable-akonadi \
--disable-ebook \
--disable-ecal \
--disable-goa \
--disable-kcalextended \
--disable-kwallet \
--disable-maemocal \
--disable-oauth2 \
--disable-qtcontacts \
--disable-gsso \
--disable-uoa \
--disable-sign
dpkg-buildpackage -rfakeroot -b -d -us -uc
or
dpkg-buildpackage -rfakeroot -b -d -us -uc -aamd64
/usr/bin/ld: /opt/software/SyncEvolution/syncevolution-1.5.1/src/build-synthesis/src/.libs/libsynthesissdk.a(libsynthesissdk_la-SDK_util.o):
relocation R_X86_64_PC32 against symbol `StrAllocN' can not be used when
making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Bad value
collect2: error: ld returned 1 exit status
Makefile:5931: recipe for target 'src/syncevo/libsyncevolution.la' failed
make[3]: *** [src/syncevo/libsyncevolution.la] Error 1
make[3]: Leaving
directory '/opt/software_x64/SyncEvolution/syncevolution-1.5.1'
Makefile:11453: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving
directory '/opt/software_x64/SyncEvolution/syncevolution-1.5.1'
Makefile:4473: recipe for target 'all' failed
make[1]: *** [all] Error 2
rm src/dbus/glib/stamp-syncevo-session-bindings.h
src/dbus/glib/stamp-syncevo-session-glue.h
src/dbus/glib/stamp-syncevo-connection-bindings.h
src/dbus/glib/stamp-syncevo-server-glue.h
src/dbus/glib/stamp-syncevo-server-bindings.h
src/dbus/glib/stamp-syncevo-connection-glue.h
make[1]: Leaving
directory '/opt/software_x64/SyncEvolution/syncevolution-1.5.1'
dh_auto_build: make -j1 returned exit code 2
debian/rules:18: recipe for target 'binary' failed
make: *** [binary] Error 2
dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit
status 2
perhaps this helps too
grep PIC config.log
configure:9618: checking for gcc option to produce PIC
configure:9625: result: -fPIC -DPIC
configure:9633: checking if gcc PIC flag -fPIC -DPIC works
configure:9651:
gcc -c -g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security -Wall -pedantic -D_FORTIFY_SOURCE=2 -fPIC -DPIC -DPIC
conftest.c >&5
configure:11095: gcc -shared -fPIC -DPIC
conftest.o -v -Wl,-soname -Wl,conftest -o conftest 2\>\&1
\| /bin/grep -lc \>/dev/null 2\>\&1
configure:15166: checking for g++ option to produce PIC
configure:15173: result: -fPIC -DPIC
configure:15181: checking if g++ PIC flag -fPIC -DPIC works
configure:15199:
g++ -c -g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -fPIC -DPIC -DPIC
conftest.cpp >&5
lt_cv_prog_compiler_pic='-fPIC -DPIC'
lt_cv_prog_compiler_pic_CXX='-fPIC -DPIC'
4 years, 10 months