Re: [SyncEvolution] syncevolution and a radicale caldev server
by Patrick Ohly
On Fri, 2012-02-17 at 15:14 +0100, Gregor Horvath wrote:
> Am Fri, 17 Feb 2012 11:12:52 +0100
> schrieb Patrick Ohly <patrick.ohly(a)intel.com>:
>
> > On Tue, 2012-02-14 at 15:57 +0100, Patrick Ohly wrote:
> > > But as Radicale is an example where multiple databases are possible
> > > (in
> > > contrast to Google), it's worth spelling out explicitly how such a
> > > config can be created:
> >
> > [...]
> >
> > William, did this work?
> >
> > Perhaps you (or someone else) has the time to turn the instructions
> > into a proper HOWTO? I created a place holder Wiki page for it here:
> > http://syncevolution.org/wiki/synchronizing-radicale
> >
> >
William sent me some debug logs, but then ran out of time. So I've
installed Radicale myself and found an issue that'll break
SyncEvolution: items reported by the server include double slashes in
the path.
<multistatus xmlns="DAV:" xmlns:C="urn:ietf:params:xml:ns:caldav">
<response>
<href>/public_user/calendar/calendar_1//1234567890(a)dummy.ics</href>
^^
SyncEvolution will then use /1234567890(a)dummy.ics as path in future
requests, which Radicale rejects with either 404 or 401 errors.
I'll work around that in SyncEvolution. I'm not sure whether there is a
solution with 1.2.2.
Have you considered Calypso (http://keithp.com/blogs/calypso/)? I don't
know yet whether it works with SyncEvolution; if there is interest, then
I will try it.
> I am trying to do the same thing (with one calender to start with)
> N900 <-> radicale but it did not work, because it seems the Maemo
> calendar is not found:
>
> http://pastebin.com/huMXDsEx
>
> What I am doing wrong?
You have additional spaces after your \ character. The slash must be at
the end of each line.
--
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.
6 years
[SyncEvolution] Compatibility with Evolution 3.8
by Daniel CLEMENT
Hello,
I'm running Syncevolution 1.3.2 under Linux Mint Debian along with
Evolution v. 3.4.4-3.
I'd like to upgrade Evolution to v. 3.8 (namely 3.8.5-2 from Debian
Sid). I have access to another Debian PC with this version of Evolution
which corrects some bugs.
I tried to install Syncevolution (from stable ppa) on this PC. To my
surprise, Synaptic offered me to... uninstall Evolution, no less!
How could I get Syncevolution yo work with Evolution 3.8?
TIA - best regards,
--
Daniel CLEMENT
7 years
[SyncEvolution] Compiling syncevolution on Debian jessie
by Graham Cobb
I am trying to update my syncevolution and activesyncd build
environment, which I haven't touched for a while.
I updated syncevolution (git pull) and tried to build it. I am getting
errors because sysync::LOCERR_AGAIN is not defined.
What version of synthesis is required to build the latest syncevolution?
The version of libsynthesis currently in Debian Jessie is 3.4.0.16.8-1.
Graham
7 years
[SyncEvolution] building with Qt5
by Ove Kåven
Well, I'm trying to build a GUI for Sailfish, which is Qt5-based. But
Qt5 is not really supported by SyncEvolution. Although I've added some
workarounds in the backends, it would probably be nice if Qt5 was more
directly supported by the build system.
Most importantly, perhaps, is that I'm not sure how to cleanly build the
Qt D-Bus bindings. For example, syncevolution-qt-dbus.pc should contain
"Requires: Qt5DBus" instead of "QtDBus". What's the least hackish way to
achieve that?
The build patches I've had to make so far include, with comments:
> --- a/src/backends/kcalextended/configure-sub.in
> +++ b/src/backends/kcalextended/configure-sub.in
> @@ -13,5 +13,6 @@ SE_ARG_ENABLE_BACKEND(kcalextended,
>
> if test "$enable_kcalextended" = "yes"; then
> AC_DEFINE(ENABLE_KCALEXTENDED, 1, [KCalExtended available])
> - PKG_CHECK_MODULES(KCALEXTENDED, libmkcal libkcalcoren)
> + PKG_CHECK_MODULES(KCALEXTENDED, libmkcal-qt5 libkcalcoren-qt5 Qt5Core,,
> + [PKG_CHECK_MODULES(KCALEXTENDED, libmkcal libkcalcoren)])
> fi
(Fairly straightforward, but the Qt5Core part would probably not be
needed if the build system supported Qt5)
> --- a/src/backends/qtcontacts/configure-sub.in
> +++ b/src/backends/qtcontacts/configure-sub.in
> @@ -13,11 +13,11 @@ SE_ARG_ENABLE_BACKEND(qtcontacts,
>
> if test "$enable_qtcontacts" = "yes"; then
> AC_DEFINE(ENABLE_QTCONTACTS, 1, [QtContacts available])
> - # AC_WITH_QT() will be called in configure-post if need_qt_modules is not empty,
> - # setting QT_* flags.
> - need_qt_modules="$need_qt_modules +gui" # GUI needed for QVersit
> - qt_config="$qt_config +mobility"
> - qt_misc="$qt_misc
> -MOBILITY += contacts versit"
> + PKG_CHECK_MODULES(QT_CONTACTS, Qt5Contacts Qt5Versit,,[
> + # AC_WITH_QT() will be called in configure-post if need_qt_modules is not empty,
> + # setting QT_* flags.
> + need_qt_modules="$need_qt_modules +gui" # GUI needed for QVersit
> + qt_config="$qt_config +mobility"
> + qt_misc="$qt_misc
> +MOBILITY += contacts versit"])
> fi
> -AC_SUBST(QT_CONTACTS_LIBS)
> --- a/src/backends/qtcontacts/qtcontacts.am
> +++ b/src/backends/qtcontacts/qtcontacts.am
> @@ -19,4 +19,4 @@ src_backends_qtcontacts_syncqtcontacts_la_DEPENDENCIES = src/syncevo/libsyncevol
> # Allow Qt to set some compile flags, but not the ones normally set via configure.
> # In particular -W is not compatible with the SyncEvolution header files (we have
> # unused parameters in some inline functions).
> -src_backends_qtcontacts_syncqtcontacts_la_CXXFLAGS = $(SYNCEVOLUTION_CXXFLAGS) $(filter-out -O2 -g -W -Wall, $(QT_CXXFLAGS)) $(SYNCEVO_WFLAGS)
> +src_backends_qtcontacts_syncqtcontacts_la_CXXFLAGS = $(SYNCEVOLUTION_CXXFLAGS) $(QT_CONTACTS_CFLAGS) $(filter-out -O2 -g -W -Wall, $(QT_CXXFLAGS)) $(SYNCEVO_WFLAGS)
(The AC_SUBST is removed because presumably the new PKG_CHECK_MODULES
already does that)
And some bugfixes for the Qt bindings:
> --- a/src/dbus/qt/qt.am
> +++ b/src/dbus/qt/qt.am
> @@ -69,7 +69,7 @@ src/dbus/qt/syncevo-%-full.cpp src/dbus/qt/syncevo-%-full.h: src/dbus/qt/stamp-%
>
> # work around #ifndef SYNCEVO-SERVER-FULL_H_1305547804 bug
> src/dbus/qt/stamp-%: $(top_srcdir)/src/dbus/interfaces/syncevo-%-full.xml
> - $(AM_V_at)@QDBUSXML_TO_CPP@ -p src/dbus/qt/syncevo-$*-full -i src/dbus/qt/dbustypes.h $< \
> + $(AM_V_at)@QDBUSXML_TO_CPP@ -p src/dbus/qt/syncevo-$*-full -i dbustypes.h $< \
> && perl -pi -e 's/SYNCEVO-(\w*)-FULL_H/SYNCEVO_$$1_FULL_H/' src/dbus/qt/syncevo-$*-full.* \
> && echo 'timestamp' >$@
>
(The -i is for generating the #include, and using the source path
doesn't work for installed files)
> --- a/src/dbus/interfaces/syncevo-connection-full.xml
> +++ b/src/dbus/interfaces/syncevo-connection-full.xml
> @@ -102,8 +102,8 @@
> "URL" - the URL for an HTTP POST.
> </doc:summary>
> </doc:doc>
> - <annotation name="com.trolltech.QtDBus.QtTypeName.In2" value="QStringMap"/>
> </arg>
> + <annotation name="com.trolltech.QtDBus.QtTypeName.In2" value="QStringMap"/>
>
> <arg type="b" name="final">
> <doc:doc>
> --- a/src/dbus/interfaces/syncevo-server-full.xml
> +++ b/src/dbus/interfaces/syncevo-server-full.xml
> @@ -129,8 +129,8 @@
> "system" - some plain text information about system libraries,
> "backends" - available backend libraries
> </doc:summary></doc:doc>
> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="QStringMap"/>
> </arg>
> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="QStringMap"/>
> </method>
>
> <method name="Attach">
> @@ -585,8 +585,8 @@
> version of the transport entity.
> </doc:summary>
> </doc:doc>
> - <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QStringMap"/>
> </arg>
> + <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QStringMap"/>
> <arg type="b" name="must_authenticate" direction="in">
> <doc:doc>
> <doc:summary>
> --- a/src/dbus/interfaces/syncevo-session-full.xml
> +++ b/src/dbus/interfaces/syncevo-session-full.xml
> @@ -345,8 +345,8 @@
> </arg>
> <arg type="a{ss}" name="vars" direction="in">
> <doc:doc><doc:summary>Environment variables in clients</doc:summary></doc:doc>
> - <annotation name="com.trolltech.QtDBus.QtTypeName.In1" value="QStringMap"/>
> </arg>
> + <annotation name="com.trolltech.QtDBus.QtTypeName.In1" value="QStringMap"/>
> </method>
>
> <signal name="StatusChanged">
(The annotations can't be inside the args, the xml-to-c++ tool doesn't
recognize them there.)
7 years
[SyncEvolution] baseline distro for SyncEvolution 1.4?
by Patrick Ohly
Hello!
So far, syncevolution.org binaries were compiled on Ubuntu Lucid 10.04
LTS, which made the binaries compatible with pretty much all distros
since then, including Debian Stable. Since then, another Ubuntu LTS
(Precise Pangolin, 12.04) was released and Debian Wheezy became Debian
Stable this weekend.
Does anyone still need SyncEvolution binaries for Ubuntu Lucid 10.04 and
Debian Squeeze?
I'd like to switch to Ubuntu Precise as new baseline distro because then
binaries can use features from glib 3.32.0, more precisely, the revised
multithreading API. Then SyncEvolution can prevent premature client
timeouts when acting as SyncML HTTP server by running long-running local
storage initialization in a background thread.
--
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.
7 years
Re: [SyncEvolution] backend = file: not one of the valid values
by Sachin Gupta
+ Forum
On Mon, Jan 27, 2014 at 9:03 AM, Sachin Gupta <chingupt(a)gmail.com> wrote:
> Hi Patrick,
>
> When running syncevolution, i am getting the following error:
>
> efault/sources/addressbook/config.ini: backend = file: not one of the
> valid values (virtual, calendar = events, addressbook = contacts, todo =
> tasks, memo = memos = notes, SQLite Address Book = sqlite-contacts = sqlite)
>
> With the same settings, i had installed syncevolution on another machine
> and it works fine there. Using the same config.ini files on the new machine.
>
> Please suggest what is missing here.
>
> Regards
> Sachin
>
>
7 years
[SyncEvolution] SyncEvolution and SSO on SailfishOS (and Ubuntu)
by Ove Kåven
I just got my Jolla phone a few days ago, and now I'm investigating
porting SyncEvolution to it.
Since Sailfish is based on Mer (the fork of Nokia's MeeGo), the base
platform seems very similar to Harmattan. From what I can tell,
QtContacts and KCalExtended is still used on Sailfish, so the existing
SyncEvolution backends can probably be used.
The SSO implementation on Sailfish, though, is also based on Nokia's SSO
implementation. From what I can tell, this implementation is from
Ubuntu. It seems to me that Sailfish is using the SSO implementation
from Ubuntu Online Accounts.
Then, what's the plan for supporting UOA in SyncEvolution?
If I have to, I could try to change the gSSO implementation so that it
can deal with the Ubuntu implementation, but I don't run Ubuntu myself,
so I'd only actually test it on Sailfish...
7 years, 1 month
[SyncEvolution] SyncEvolution 1.3.99.7 released - release candidate for 1.4!
by Patrick Ohly
This the final release candidate for 1.4. No further changes planned unless
new problems are found.
Details:
* SSO: support Ubuntu Online Accounts
When compiling from source on recent Ubuntu it becomes possible to
use Ubuntu Online Accounts for authenticating against Google's
CalDAV and CardDAV servers.
* D-Bus server: fix abort when mixing auto-sync and manual operations (FDO #73562)
When enabling auto-sync for a config and then accessing or syncing the
config manually via the command line tool, the server would abort at
the time when the auto-sync was originally scheduled.
* D-Bus server: accept WBXML with charset in incoming connections
A user reported via email that the Nokia 515 sends
'application/vnd.syncml+wbxml; charset=UTF-8' as type of its messages.
This tripped up the syncevo-http-server, leading to:
[ERROR] syncevo-dbus-server: /org/syncevolution/Server: message type 'application/vnd.syncml+wbxml; charset=UTf-8' not supported for starting a sync
We need to strip the '; charset=UTF-8' suffix also when checking for
WBXML.
* packaging: compatible with EDS up to and including 3.10
The packages now contain three versions of syncecal.so:
- one for EDS < 3.6
- one for EDS >= 3.6 < 3.10
- one for EDS >= 3.10 with the libecal-1.2 soname patched
The third flavor became necessary because EDS 3.10 accidentally
changed the soname. The API and ABI actually is the same.
Package meta-data was fixed to reflect the extended range of
compatible EDS libraries, so syncevolution-evolution can be installed
again with recent EDS.
* packaging: update syncevolution-kde dependencies
kdebase-runtime became kde-runtime in Debian Wheezy. Accept both
as prerequisite of syncevolution-kde to allow installation on
newer distros without pulling in the transitional kdebase-runtime
package.
* packaging: fix rpm (FDO #73347)
After installing the syncevolution.org rpm on OpenSUSE,
SyncEvolution was not starting because its shared libraries were not
found unless "ldconfig" was called manually. Now the package does
that automatically.
* packaging: fix description
The syncevolution-bundle description of both rpm and deb
packagesaccidentally used the same description as
syncevolution-evolution.
* test improvements, integration of cppcheck and clang's scan-build
Source, Installation, Further information
=========================================
http://syncevolution.org/blogs/pohly/2014/syncevolution-13997-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
7 years, 1 month
Re: [SyncEvolution] Setup of SyncML to WebDAV synchronization bridge: Problem with SSLVerifyServer switch in configuration command
by Helge Kraak
Thank you, Patrick.
I tried your suggestion for the third command but when I start initiate
a sync I get the error message that no configuration could be found for
the deviceID (like with the third variation below).
It's correct that I don't need to use the keyring=no option again in the
third command but I have to apply the *SSLVerifyServer=False *option
also in the third command for creating the Palm peer, otherwise I get a
SSL verification error.
As a result of these observations I tried to initiate a sync with the
following three versions of the third command (for every variation I
started with an empty syncevolution config and reapplied the first two
commands before every time as well):
*1. *My previous version without *keyring=no*:
/syncevolution --configure /*SSLVerifyServer=False --template
*SyncEvolution_Client/--sync-property
remoteDeviceId=ST23K3J5I4JX// username=admin password=admin
/--source-property addressbook/uri=addressbook Palm-TH55@webdav
RETURNS:
"First ERROR encountered: error code from SyncEvolution fatal error
(local, status 10500): no sources active, check configuration"
*2.* My previous version without *keyring=no* but with *sync=two-way* as
you suggested:
/syncevolution --configure /*SSLVerifyServer=False --template
*SyncEvolution_Client/ --sync-property
remoteDeviceId=ST23K3J5I4JX// username=admin password=admin
/--source-property addressbook/uri=addressbook sync=two-way
Palm-TH55@webdav
RETURNS:
"First ERROR encountered: error code from SyncEvolution fatal error
(local, status 10500): no sources active, check configuration" --> Same
error message
*3.* My previous version without *keyring=no* but with *sync=two-way*
and *addressbook* like you suggested:
/syncevolution --configure /*SSLVerifyServer=False --template
*SyncEvolution_Client/ --sync-property
remoteDeviceId=/PN70M9J5V7JX/ username=admin password=admin
/--source-property addressbook/uri=addressbook sync=two-way
Palm-TH55@webdav addressbook
RETURNS for the command:
"[INFO] addressbook: looking for databases...
[INFO] addressbook: no database to synchronize
[ERROR] addressbook: no database to synchronize"
AND for the sync initiation:
"no configuration found for deviceID ST23K3J5I4JX"
On 1/14/14 8:29 AM, Patrick Ohly wrote:
> On Tue, 2014-01-14 at 05:37 +0100, Helge Kraak wrote:
>> ### Third command ###
>>
>> syncevolution --configure
>> keyring=no SSLVerifyServer=False
>> --template SyncEvolution_Client
>> --sync-property remoteDeviceId=ST23K3J5I4JX
>> username=admin password=admin
>> --source-property addressbook/uri=addressbook
>> --source-property calendar/uri=events
>> --source-property todo/uri=tasks
>> --source-property memo/uri=memo
>> Palm-TH55@webdav
>>
>>
>> RETURNS:
>>
>> [INFO] addressbook: looking for databases...
>> [INFO] addressbook: no database to synchronize
> This might be a false message. I think it is not actually checking for
> anything because the address book was already configured.
>
>> [INFO] calendar: looking for databases...
>> [INFO] calendar: backend failed: error code from SyncEvolution
>> authorization failed (remote, status 401): calendar: syncURL not
>> configured and username admin does not contain a domain
>> [INFO] memo: looking for databases...
>> [INFO] memo: backend failed: error code from SyncEvolution
>> authorization failed (remote, status 401): memo: syncURL not
>> configured and username admin does not contain a domain
>> [INFO] todo: looking for databases...
>> [INFO] todo: backend failed: error code from SyncEvolution
>> authorization failed (remote, status 401): todo: syncURL not
>> configured and username admin does not contain a domain
> This of course is correct. It's merely informational, so what you end up
> with should be a config where these sources are simply not enabled
> ("sync" = "none" or "disabled").
>
>> Here I'm stuck. What am I missing so that the database on at the
>> WebDAV server cannot be found?
> If you want to enable just contacts, then use:
>
>
> syncevolution --configure \
> --template SyncEvolution_Client \
> remoteDeviceId=ST23K3J5I4JX \
> username=admin password=admin \
> sync=two-way \
> Palm-TH55@webdav \
> addressbook
>
> You don't need to repeat values like keyring=no which were already set
> earlier. "--source-property addressbook/uri=addressbook" is redundant,
> because the name of the source and URI are identical in this case.
>
> What I added is "sync=two-way", to ensure that the addressbook source
> really gets enabled for the Palm-TH55 client.
>
7 years, 1 month