Bug 3737 - Evolution-data-server plugin creation
Summary: Evolution-data-server plugin creation
Status: NEW
Alias: None
Product: Claws Mail (GTK 2)
Classification: Unclassified
Component: Plugins (show other bugs)
Version: 3.15.0
Hardware: PC Linux
: P3 enhancement
Assignee: users
URL:
Depends on:
Blocks:
 
Reported: 2016-11-27 13:39 UTC by André Auzi
Modified: 2016-12-01 06:58 UTC (History)
1 user (show)

See Also:


Attachments
git format-patch 08916bffe4b3d42199b11060a49a812a9a7817f2..HEAD (37.53 KB, patch)
2016-11-27 13:39 UTC, André Auzi
no flags Details | Diff
resend after more checks (8.70 KB, application/x-gzip-compressed)
2016-11-27 15:09 UTC, André Auzi
no flags Details
Resend after Copyright fix (37.76 KB, patch)
2016-11-28 20:13 UTC, André Auzi
no flags Details | Diff

Description André Auzi 2016-11-27 13:39:45 UTC
Created attachment 1700 [details]
git format-patch 08916bffe4b3d42199b11060a49a812a9a7817f2..HEAD

I'm an enthusiast user of both claws-mail and nextcloud.

In my use case, Evolution Data Server (EDS) and gnome-online-accounts allow remote CardDAV and CalDAV accesses to the data nextcloud hosts.

It's been some time that I was frustrated to not have this integration in claws-mail. (especially considering the fact that GData plugin was available ;)

The attached patch, totally inspired by the GData plugin, is my attempt to fill the gap.

I hope that an equivalent feature will eventually come in an official version.

Until then... Thanks for the neat piece of software you give us :D

A
Comment 1 Michael Rasmussen 2016-11-27 14:00:27 UTC
(In reply to comment #0)
> 
> The attached patch, totally inspired by the GData plugin, is my attempt to
> fill the gap.
> 
Hi André

Applying the patch to latest git fails:
$ git am /tmp/0001-Evolution-data-server-plugin-creation.patch
Applying: Evolution data server plugin creation
fatal: corrupt patch at line 58
Patch failed at 0001 Evolution data server plugin creation

Could you try:
git pull -p before making a new patch?
Comment 2 André Auzi 2016-11-27 15:09:29 UTC
Created attachment 1701 [details]
resend after more checks
Comment 3 Andrej Kacian 2016-11-27 15:11:40 UTC
The original patch (attachment.cgi?id=1700) applies cleanly to current HEAD in master (08916bf) over here, must be something wrong with how you downloaded it from bugzilla...
Comment 4 Michael Rasmussen 2016-11-27 15:17:49 UTC
(In reply to comment #3)
> The original patch (attachment.cgi?id=1700) applies cleanly to current HEAD
> in master (08916bf) over here, must be something wrong with how you
> downloaded it from bugzilla...

Offending line: diff --git a/configure.ac b/configure.ac

Do you not use git am to apply patch?
Comment 5 Andrej Kacian 2016-11-27 15:22:16 UTC
No, I'm more "oldschool", I just use patch -p1. :)
Comment 6 André Auzi 2016-11-27 15:39:36 UTC
(In reply to comment #5)
> No, I'm more "oldschool", I just use patch -p1. :)

lol. 
Just for the record, I have done a git -am on a fresh clone of the current HEAD of master, it applies cleanly as well.
That's why I've thought that submitting the patch compressed by gzip could help.
Comment 7 Michael Rasmussen 2016-11-27 16:13:30 UTC
(In reply to comment #6)
> (In reply to comment #5)
> > No, I'm more "oldschool", I just use patch -p1. :)
> 
> lol. 
> Just for the record, I have done a git -am on a fresh clone of the current
> HEAD of master, it applies cleanly as well.
> That's why I've thought that submitting the patch compressed by gzip could
> help.

Very strange:
$ git status master
On branch master
Your branch is up-to-date with 'origin/master'.
nothing to commit, working tree clean

$ git log
commit 08916bffe4b3d42199b11060a49a812a9a7817f2
Author: Andrej Kacian <ticho@claws-mail.org>
Date:   Thu Nov 24 20:13:10 2016 +0100

    Fix more compile warnings for Windows in socket.c.

commit 504dd92adc45548622126faa441b7f8523bdb869
Author: Andrej Kacian <ticho@claws-mail.org>
Date:   Thu Nov 24 20:19:31 2016 +0100

    Removed unused w32_get_uid_equiv() function.

commit 0d330cb779f940d0ccc0848ca64cf8ff0c95d810
Author: Andrej Kacian <ticho@claws-mail.org>
Date:   Thu Nov 24 20:05:02 2016 +0100

    Fix two unused variable warnings in ssl.c for Windows build.

commit 4d7461d72788db31c4c7e43d0911a8e9d6155041
Author: Paul <paul@claws-mail.org>
Date:   Wed Nov 23 14:06:21 2016 +0000

    make go to next/previous sort order aware
Comment 8 André Auzi 2016-11-28 08:21:58 UTC
> Very strange:
> $ git status master
> On branch master
> Your branch is up-to-date with 'origin/master'.
> nothing to commit, working tree clean
> 
> $ git log
> commit 08916bffe4b3d42199b11060a49a812a9a7817f2
> Author: Andrej Kacian <ticho@claws-mail.org>

Strange indeed.
To be absolutely sure I double checked the patch with 'git am' this morning...

$ export LANG=
$ uname -a
Linux <...> 4.8.8-300.fc25.x86_64 #1 SMP Tue Nov 15 18:10:06 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
$ git --version
git version 2.9.3
$ rm -fr claws-verif-patch-2/
$ git clone http://git.claws-mail.org/readonly/claws.git claws-verif-patch-2
Cloning into 'claws-verif-patch-2'...
remote: Counting objects: 101630, done.
remote: Compressing objects: 100% (17987/17987), done.
remote: Total 101630 (delta 87441), reused 96809 (delta 83489)
Receiving objects: 100% (101630/101630), 44.46 MiB | 1.09 MiB/s, done.
Resolving deltas: 100% (87441/87441), done.
Checking connectivity... done.
$ cd claws-verif-patch-2
$ git am ../claws-verif/0001-Evolution-data-server-plugin-creation.patch
Applying: Evolution data server plugin creation
$ git status
On branch master
Your branch is ahead of 'origin/master' by 1 commit.
  (use "git push" to publish your local commits)
nothing to commit, working tree clean
$ git log -n 4
commit 0cfff5561907dd70972f27497d04d0fac08387b3
Author: Andr<C3><A9> Auzi <aauzi@free.fr>
Date:   Sun Nov 27 12:40:24 2016 +0100

    Evolution data server plugin creation

commit 08916bffe4b3d42199b11060a49a812a9a7817f2
Author: Andrej Kacian <ticho@claws-mail.org>
Date:   Thu Nov 24 20:13:10 2016 +0100

    Fix more compile warnings for Windows in socket.c.

commit 504dd92adc45548622126faa441b7f8523bdb869
Author: Andrej Kacian <ticho@claws-mail.org>
Date:   Thu Nov 24 20:19:31 2016 +0100

    Removed unused w32_get_uid_equiv() function.

commit 0d330cb779f940d0ccc0848ca64cf8ff0c95d810
Author: Andrej Kacian <ticho@claws-mail.org>
Date:   Thu Nov 24 20:05:02 2016 +0100

    Fix two unused variable warnings in ssl.c for Windows build.
$ ./autogen.sh 
<...>
claws-mail 3.14.1git24

Using Address Book : Original stable interface
JPilot             : no
LDAP               : no
gnuTLS             : no
iconv              : yes
compface           : no
IPv6               : yes
enchant            : no
IMAP4              : yes
NNTP               : yes
Crash dialog       : no
LibSM              : yes
DBUS               : yes
NetworkManager     : no
Manual             : no
Generic UMPC code  : no
Config dir         : .claws-mail
Password crypto    : old
Plugins
   Built:
            - acpi_notifier
            - address_keeper
            - archive
            - att_remover
            - attachwarner
            - bogofilter
            - bsfilter
            - clamd
            - fancy
            - fetchinfo
            - edata
            - gdata
            - libravatar
            - mailmbox
            - managesieve
            - newmail
            - notification
                Features:
                    banner
                    command
                    hotkeys
                    lcdproc
                    libnotify
                    libcanberra-gtk
                    popup
                    trayicon
                Disabled due to missing dependencies:
                    unity/messaging-menu
            - pdf_viewer
            - perl
            - python
            - pgpcore
            - pgpmime
            - pgpinline
            - rssyl
            - spamassassin
            - smime
            - spam_report
            - tnef_parse
            - vcalendar
   Disabled:
            - demo

The binary will be installed in /usr/local/bin

Configure finished, type 'make' to build.
$make -k
<...>
$ find . \( -name 'claws-mail' -o -name '*.so' \) -ls
<...>  14489632 Nov 28 07:58 ./src/claws-mail
<...>    127544 Nov 28 07:58 ./src/plugins/address_keeper/.libs/address_keeper.so
<...>    915928 Nov 28 08:00 ./src/plugins/rssyl/.libs/rssyl.so
<...>    232728 Nov 28 07:59 ./src/plugins/pdf_viewer/.libs/pdf_viewer.so
<...>    443824 Nov 28 08:00 ./src/plugins/pgpcore/.libs/pgpcore.so
<...>    228152 Nov 28 07:59 ./src/plugins/fancy/.libs/fancy.so
<...>    167736 Nov 28 07:58 ./src/plugins/bogofilter/.libs/bogofilter.so
<...>    215288 Nov 28 08:00 ./src/plugins/spamassassin/.libs/spamassassin.so
<...>    123400 Nov 28 07:58 ./src/plugins/attachwarner/.libs/attachwarner.so
<...>    205848 Nov 28 07:59 ./src/plugins/libravatar/.libs/libravatar.so
<...>     86256 Nov 28 07:58 ./src/plugins/acpi_notifier/.libs/acpi_notifier.so
<...>    114288 Nov 28 07:58 ./src/plugins/att_remover/.libs/att_remover.so
<...>    358584 Nov 28 07:59 ./src/plugins/managesieve/.libs/managesieve.so
<...>    111288 Nov 28 07:59 ./src/plugins/edata/.libs/edata.so
<...>    153056 Nov 28 08:00 ./src/plugins/spam_report/.libs/spamreport.so
<...>    129624 Nov 28 08:00 ./src/plugins/pgpmime/.libs/pgpmime.so
<...>    217336 Nov 28 08:00 ./src/plugins/tnef_parse/.libs/tnef_parse.so
<...>    108352 Nov 28 08:00 ./src/plugins/pgpinline/.libs/pgpinline.so
<...>    585448 Nov 28 07:59 ./src/plugins/python/.libs/python.so
<...>    132288 Nov 28 08:00 ./src/plugins/smime/.libs/smime.so
<...>    813840 Nov 28 07:59 ./src/plugins/notification/.libs/notification.so
<...>    141992 Nov 28 07:59 ./src/plugins/bsfilter/.libs/bsfilter.so
<...>    167888 Nov 28 07:59 ./src/plugins/gdata/.libs/gdata.so
<...>    300208 Nov 28 07:59 ./src/plugins/perl/.libs/perl.so
<...>    261064 Nov 28 07:58 ./src/plugins/archive/.libs/archive.so
<...>   1971320 Nov 28 08:00 ./src/plugins/vcalendar/.libs/vcalendar.so
<...>    618624 Nov 28 07:59 ./src/plugins/mailmbox/.libs/mailmbox.so
<...>     80680 Nov 28 07:59 ./src/plugins/fetchinfo/.libs/fetchinfo.so
<...>    181848 Nov 28 07:59 ./src/plugins/clamd/.libs/clamd.so
<...>     42952 Nov 28 07:59 ./src/plugins/newmail/.libs/newmail.so

Everything looks fine on this side, even with 'git am'.

A
Comment 9 Ricardo Mones 2016-11-28 11:38:01 UTC
The attachment is a gz file but has text/plain MIME type, that sounds like wrong.
Comment 10 Paul 2016-11-28 13:54:06 UTC
The copyright lines should be

Copyright (C) 2016 André Auzi & the Claws Mail team

because you have used a lot of the existing claws-mail code there.
Comment 11 André Auzi 2016-11-28 20:13:27 UTC
Created attachment 1702 [details]
Resend after Copyright fix
Comment 12 André Auzi 2016-11-28 20:15:08 UTC
(In reply to comment #10)
> The copyright lines should be
> 
> Copyright (C) 2016 André Auzi & the Claws Mail team
> 
> because you have used a lot of the existing claws-mail code there.

Totally agreed, I should have thought it myself.
Hence the resend...
Comment 13 Gour 2016-11-29 23:25:52 UTC
> The attached patch, totally inspired by the GData plugin, is my attempt to fill the gap.

Does it mean that your feature would allow to access Evolution's addressbooks & calendars which can are synced with one's phone(s) via CardDAV & CalDAV server (I use Baikal)?
Comment 14 André Auzi 2016-12-01 06:58:55 UTC
> Does it mean that your feature would allow to access Evolution's
> addressbooks & calendars which can are synced with one's phone(s) via
> CardDAV & CalDAV server (I use Baikal)?

At the moment it just allows you to use the content of the default address book defined in evolution data server for address completions.

In my settings it is a CardDAV address book which I also sync on my phone.

At the moment, the plugin does not deal with Calendars and it does *not* allow to edit CardDAV address book's contacts.

On my desktop, I use gnome-contacts to manage the addresses.

Note You need to log in before you can comment on or make changes to this bug.