Syncing Ubuntu touch with owncloud (or any CardDAV server)

After Sergio posted how to sync google contacts with ubuntu touch I gave it a shot with my owncloud server. After some fiddling around and fixing the syncevolution-libs package I eventually suceeded. For now you need to replace syncevolution-libs with a fixed package I have build. Here’s how you do it:

Create a backup of your owncloud address book!!!

Installing syncevolution:

UPDATE: This step is not needed any more. A fixed version of syncevolution is now preinstalled on Ubuntu Phones. So jump straight to the configure step.

Download the fixed syncevolution-libs package: syncevolution-libs_1.2.99.4-0ubuntu1_armhf.deb
Now install syncevolution and the downloaded libs package on the device:

# adb root
# adb push syncevolution-libs_1.2.99.4-0ubuntu1_armhf.deb /data/ubuntu/tmp/
# adb shell
# ubuntu_chroot shell
# apt-get install syncevolution
# dpkg -i /tmp/syncevolution-libs_1.2.99.4-0ubuntu1_armhf.deb

Configuring

Replace username, password and addressbookname with the appropriate values. Also replace http://example.org/owncloud/ with the url and path of your owncloud instance. (Do not supply any username or password in step 3.)

Note: If you’re using a self-signed certificate on your owncloud server, after step 2, open ~/.config/syncevolution/owncloud/peers/target-config/config.ini and change SSLVerifyServer to 0. Note the implied reduction in security. If you need/want higher security, you better get a signed certificate instead of disabling the check.

# su - phablet
# syncevolution --configure --template WebDAV username=username password=password syncURL=https://example.org/owncloud/remote.php/ keyring=no target-config@owncloud
# syncevolution --configure database=https://example.org/owncloud/remote.php/carddav/addressbooks/username/addressbookname/ backend=carddav target-config@owncloud myaddressbook
# syncevolution --configure --template SyncEvolution_Client sync=none syncURL=local://@owncloud username= password= owncloud
# syncevolution --configure sync=two-way backend=addressbook database= owncloud myaddressbook
# syncevolution --sync slow owncloud myaddressbook

Now your owncloud server and ubuntu phone should be synced. To sync again, just do

# syncevolution owncloud myaddressbook

This entry was posted in Ubuntu. Bookmark the permalink.

20 Responses to Syncing Ubuntu touch with owncloud (or any CardDAV server)

  1. Khurshid Alam says:

    So syncevolution-libs(1.2.99) is not compatible for ubuntu-touch os. Is it also true for > syncevolution 1.32? You said that its patched, could you please provide the exact patch or the commit? I am documenting syncevolution on ubuntu-wiki (https://help.ubuntu.com/community/SyncEvolution) . So it might be helpful for all if that information is included on wiki as well.

    Thanks.

    • Michael says:

      Syncevolution 1.2.99 is compatible with Ubuntu Touch. The only problem is that the packages misses a binary called “syncevo-local-sync”. It gets compiled and everything, just not packaged up. The only change I made was to add the line

      usr/lib/syncevolution/syncevo-local-sync

      to the file “debian/syncevolution-libs.install” and rebuild the package. It’s fixed now in the upstream ubuntu package and I think the fix will be released with the first Ubuntu Touch release based on saucy.

  2. Martin Pitt says:

    Many thanks for this recipe! It works really well and out of the box with the current 15.04 images! I did the same for calendar sync (quite straightforward).

  3. Pingback: Syncing addressbook of Ubuntuphone using syncevolution | cosmicyes

  4. Kalle says:

    thanks, worked well!
    additional commands for calendar sync:

    syncevolution –configure database=https://example.org/owncloud/remote.php/caldav/calendars/username/calendarname backend=caldav target-config@owncloud mycalendar

    syncevolution –configure sync=two-way backend=calendar database= owncloud mycalendar

    first sync:
    syncevolution –sync slow owncloud mycalendar

    regular sync:
    syncevolution owncloud mycalendar

  5. Pingback: ubuntu phone will be great, but it is not yet | Richi's Blog

  6. delijati says:

    in my first sync im running into this problem any solution

    First ERROR encountered: creating source registry: Cannot autolaunch D-Bus without X11 $DISPLAY

  7. tobst says:

    I had the same problem:

    First ERROR encountered: creating source registry: Cannot autolaunch D-Bus without X11 $DISPLAY

    You can solve them by running all command from within the Ubuntu Phone Terminal App.

    • tobst says:

      After saying this. I found out, that it does not help when I want to set up a cronjob which updates in the background. Here, I get the same error as delijati:

      First ERROR encountered: creating source registry: Cannot autolaunch D-Bus without X11 $DISPLAY

  8. Bastien Ho says:

    Thank you, both tips for carddav and caldav worked great.

    I finally could 2 ways sync my Ubuntu phone with Owncloud. By the way, I share the command to remove bad data-stores. (With my previous tests, I had tonnes on my phone)

    get the list of configs :

    # syncevolution –print-configs

    It should give you a list of

    configname = configpath

    Then, you can remove bad configs with the following command:

    # syncevolution –remove configname

  9. Pingback: Synchroniser ses contacts et calendrier d’Ubuntu Phone via ownCloud, Cosy Cloud… | Influence PC

  10. Lars says:

    Hi,

    Would it be possible to put this in an app in the AppStore where you in the settings just add your password etc and then press a button to update the syncing? Would be neat for a newbe as me.
    One additional question… Is it possible to synch your photos as well? And in that case how do you do that?

    /Lars

    • Michael says:

      Hi,

      It would be possible for the OpenStore, not for the official app store.

      Syncing photos too, would be possible to put into the OpenStore but not in the official app store at the moment.

      However, both of them are tied to some amount of work which I don’t think I will spend anytime soon. I’d be happy to provide info to someone else who wants to take a stab at it.

  11. Frank says:

    Hi,

    thank you for the instructions. It works fine on my BQ M10.
    I discovered a problem with my self signed certificate. Syncing aborted due to SSL verification error.
    Setting SSLVerifyServer = 0 and SSLVerifyHost = 0 in the config.ini of syncevolution solved the problem.
    I found the solution on
    https://lists.syncevolution.org/pipermail/syncevolution/2014-April/004782.html

  12. Uwe says:

    thanks a lot for your post… it works perfekt on my installation!!!!

  13. tux-edo says:

    I get this error: First ERROR encountered: creating source registry: Cannot autolaunch D-Bus without X11 $DISPLA
    When I run: syncevolution –sync slow owncloud myaddressbook

    Can you hel me please!

    • Michael says:

      Sounds like you don’t have all the session environment set up. How are you connecting to the phone? Try to use phablet-shell from the phablet-tools package.

Leave a Reply

Your email address will not be published. Required fields are marked *