[FTS Xapian] Beta release

Aki Tuomi aki.tuomi at open-xchange.com
Mon Jan 14 14:40:48 EET 2019


Just to remind that now that there is a github repo for fts-xapian, you
could maybe open these issues there instead?

Aki

On 14.1.2019 14.29, Odhiambo Washington wrote:
> Testing a compile on FreeBSD.
>
> gmake[2]: Entering directory '/usr/home/wash/Tools/Dovecot/fts-xapian/src'
> /bin/sh ../libtool  --tag=CXX   --mode=compile c++ -DHAVE_CONFIG_H -I.
> -I..  -I/opt/dovecot2.3/include/dovecot     
> -I/opt/dovecot2.3/include/dovecot      -g -O2 -MT
> fts-backend-xapian.lo -MD -MP -MF .deps/fts-backend-xapian.Tpo -c -o
> fts-backend-xapian.lo fts-backend-xapian.cpp
> libtool: compile:  c++ -DHAVE_CONFIG_H -I. -I..
> -I/opt/dovecot2.3/include/dovecot -I/opt/dovecot2.3/include/dovecot -g
> -O2 -MT fts-backend-xapian.lo -MD -MP -MF .deps/fts-backend-xapian.Tpo
> -c fts-backend-xapian.cpp  -fPIC -DPIC -o .libs/fts-backend-xapian.o
> fts-backend-xapian.cpp:3:10: fatal error: 'xapian.h' file not found
> #include <xapian.h>
>          ^~~~~~~~~~
>
> Well, I installed xapian-core and the xapian.h is in /usr/local/include/
>
> I can overcome the fatal error by doing:
>
>  env CPPFLAGS=-I/usr/local/include PANDOC=false ./configure
> --prefix=/opt --with-dovecot=/opt/dovecot2.3/lib/dovecot/
>
> Is that something that you can address within the code or we (*BSD)
> have to live with it?
>
> During `make`, the following warning is generated:
>
> /bin/sh ../libtool  --tag=CXX   --mode=compile c++ -DHAVE_CONFIG_H -I.
> -I..  -I/opt/dovecot2.3/include/dovecot     -I/usr/local/include
> -I/opt/dovecot2.3/include/dovecot      -g -O2 -MT
> fts-backend-xapian.lo -MD -MP -MF .deps/fts-backend-xapian.Tpo -c -o
> fts-backend-xapian.lo fts-backend-xapian.cpp
> libtool: compile:  c++ -DHAVE_CONFIG_H -I. -I..
> -I/opt/dovecot2.3/include/dovecot -I/usr/local/include
> -I/opt/dovecot2.3/include/dovecot -g -O2 -MT fts-backend-xapian.lo -MD
> -MP -MF .deps/fts-backend-xapian.Tpo -c fts-backend-xapian.cpp  -fPIC
> -DPIC -o .libs/fts-backend-xapian.o
> fts-backend-xapian.cpp:486:14: warning: format string is not a string
> literal (potentially insecure) [-Wformat-security]
>                         i_warning(e.get_msg().c_str());
>                                   ^~~~~~~~~~~~~~~~~~~
> fts-backend-xapian.cpp:486:14: note: treat the string as an argument
> to avoid this
>                         i_warning(e.get_msg().c_str());
>                                   ^
>                                   "%s",
> 1 warning generated.
>
>
> Is that something you can look into as well?
>
>
>
> On Mon, 14 Jan 2019 at 11:43, Joan Moreau <jom at grosjo.net
> <mailto:jom at grosjo.net>> wrote:
>
>     THank you Odhiambo. I updated accordingly
>
>
>      
>
>
>     On 2019-01-14 08:07, Odhiambo Washington wrote:
>
>>     In your README.md, perhaps "This project intends to provide a
>>     straightforward and simple *procedure *to configure FTS plugin
>>     for Dovecot, leveraging the efforts by the Xapian.org team." is
>>     better??
>>     Also in the part after cloning from git:
>>      
>>     ./configure --prefix=/usr --with-dovecot=/path/to/dovecot [ This
>>     /path/to/dovecot is not obvious. Is it the dovecot binary or what??]
>>
>>     On Mon, 14 Jan 2019 at 09:42, Joan Moreau via dovecot
>>     <dovecot at dovecot.org <mailto:dovecot at dovecot.org>> wrote:
>>
>>         Thank you Stephan.
>>
>>         The version here shall be up and running :
>>         https://github.com/grosjo/fts-xapian
>>
>>
>>          
>>
>>
>>         On 2019-01-14 00:07, Stephan Bosch wrote:
>>
>>
>>
>>             Op 13/01/2019 om 21:25 schreef Joan Moreau via dovecot:
>>
>>
>>                 I tried to combined it, the "autoreconf" errors are solved
>>
>>                 Now, when I type "make install", the lib is not
>>                 pushed into dovecot folder, but somewhere in
>>                 /usr/local/...
>>
>>                 How to adjust this to have it arriving in the proper folder ?
>>
>>
>>             Depends on your system. It mostly a matter of setting a
>>             proper --prefix directory for configure, but other paths
>>             are configurable as well. I usually check what the
>>             official distribution package for Dovecot is doing and
>>             use that as a basis.
>>
>>             For Debian I use the following configure command:
>>
>>             ./configure --with-ldap=plugin --with-ssl=openssl
>>             --with-sql=plugin --with-lua=plugin --with-pgsql
>>             --with-mysql --with-sqlite \
>>                     --with-gssapi=plugin --with-solr
>>             --with-ioloop=best --enable-maintainer-mode \
>>                     --prefix=/usr --sysconfdir=/etc
>>             --libexecdir=/usr/lib --localstatedir=/var
>>             --mandir=/usr/share/man \
>>                     --infodir=/usr/share/info
>>             --with-moduledir=/usr/lib/dovecot/modules --disable-rpath
>>             --disable-static
>>
>>             Regards,
>>
>>             Stephan
>>
>>
>>                 On 2019-01-13 21:01, Tuomi, Aki wrote:
>>
>>                     You copied your Makefile.am there. Stephan made
>>                     you a working version, can you try that?
>>                     (sorry for dup)
>>                     Aki
>>                     -------- Original message --------
>>                     From: Joan Moreau <jom at grosjo.net
>>                     <mailto:jom at grosjo.net>>
>>                     Date: 13/01/2019 21:39 (GMT+02:00)
>>                     To: Stephan Bosch <stephan at rename-it.nl
>>                     <mailto:stephan at rename-it.nl>>
>>                     Cc: Aki Tuomi <aki.tuomi at open-xchange.com
>>                     <mailto:aki.tuomi at open-xchange.com>>
>>                     Subject: Re: [FTS Xapian] Beta release
>>
>>                     I used the skeleton from Aki : https://github.com/grosjo/fts-xapian
>>
>>                     However, when I try to act as a visitor, I reach teh follwoing error:
>>
>>                     # autoreconf -vi
>>                     autoreconf: Entering directory `.'
>>                     autoreconf: configure.ac
>>                     <http://configure.ac>: not using Gettext
>>                     autoreconf: running: aclocal -I m4
>>                     autoreconf: configure.ac
>>                     <http://configure.ac>: tracing
>>                     autoreconf: running: libtoolize --copy
>>                     libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, '.'.
>>                     libtoolize: copying file './ltmain.sh'
>>                     libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.
>>                     libtoolize: copying file 'm4/libtool.m4'
>>                     libtoolize: copying file 'm4/ltoptions.m4'
>>                     libtoolize: copying file 'm4/ltsugar.m4'
>>                     libtoolize: copying file 'm4/ltversion.m4'
>>                     libtoolize: copying file 'm4/lt~obsolete.m4'
>>                     autoreconf: running: /usr/bin/autoconf
>>                     autoreconf: running: /usr/bin/autoheader
>>                     autoreconf: running: automake --add-missing --copy --no-force
>>                     configure.ac:9
>>                     <http://configure.ac:9>: installing './compile'
>>                     configure.ac:11
>>                     <http://configure.ac:11>: installing './config.guess'
>>                     configure.ac:11
>>                     <http://configure.ac:11>: installing './config.sub'
>>                     configure.ac:7
>>                     <http://configure.ac:7>: installing './install-sh'
>>                     configure.ac:7
>>                     <http://configure.ac:7>: installing './missing'
>>                     src/Makefile.am: installing './depcomp'
>>                     /usr/share/automake-1.16/am/depend2.am
>>                     <http://depend2.am>: error: am__fastdepCXX does
>>                     not appear in AM_CONDITIONAL
>>                     /usr/share/automake-1.16/am/depend2.am
>>                     <http://depend2.am>: The usual way to define
>>                     'am__fastdepCXX' is to add 'AC_PROG_CXX'
>>                     /usr/share/automake-1.16/am/depend2.am
>>                     <http://depend2.am>: to 'configure.ac
>>                     <http://configure.ac>' and run 'aclocal' and
>>                     'autoconf' again
>>                     src/Makefile.am: error: C++ source seen but 'CXX' is undefined
>>                     src/Makefile.am: The usual way to define 'CXX' is to add 'AC_PROG_CXX'
>>                     src/Makefile.am: to 'configure.ac
>>                     <http://configure.ac>' and run 'autoconf' again.
>>                     src/Makefile.am:11: warning: variable
>>                     'NOPLUGIN_LDFLAGS' is defined but no program or
>>                     src/Makefile.am:11: library has 'NOPLUGIN' as
>>                     canonical name (possible typo)
>>                     autoreconf: automake failed with exit status: 1
>>
>>
>>
>>                     On 2019-01-13 20:24, Stephan Bosch wrote:
>>
>>                         Oh, right, a distribution tarball doesn't include some of the
>>                         necessary files for your repository like autogen.sh and
>>                         .gitignore. The attached tarball includes all those and is ready
>>                         for `git init`. The previous tarball was made with `make
>>                         distcheck` from this one.
>>
>>                         Regards,
>>
>>                         Stephan.
>>
>>                         Op 13/01/2019 om 20:14 schreef Stephan Bosch:
>>
>>                             Hi Joan,
>>
>>                             Op 13/01/2019 om 19:03 schreef Aki Tuomi:
>>
>>                                 Yes, from compiling point of view it is done.
>>
>>                                 Unfortunately what is not done is all the other work
>>                                 involved, such as fixing all the inevitable bugs it has
>>                                 and maintaining it. We do not want, at this moment, take
>>                                 up maintaining and developing yet another FTS plugin as
>>                                 we have plenty of things to do already.
>>
>>                                 I invite you to setup your own repository and provide
>>                                 this plugin from there, being the maintainer of this
>>                                 plugin. We can add a link to your plugin on our FTS page
>>                                 so people can also find it.
>>
>>                                 There are other plugins like this, e.g.
>>                                 https://github.com/st3fan/dovecot-xaps-plugin
>>
>>
>>                             I turned the code you provided into a separate plugin
>>                             package. The distribution tarball is attached.
>>
>>                             Notable changes:
>>
>>                             - Added example copyright headers and COPYING and AUTHORS
>>                             files. You should modify those to your preference.
>>                             - Added README and INSTALL files (in markdown using Pandoc).
>>                             Those need to be amended with details.
>>                             - Amended the plugin code to display a debug message with the
>>                             plugin name and version upon plugin load.
>>
>>                             I advise you to turn this into a git repository and continue from there.
>>
>>                             I do not recommend releasing this plugin with the
>>                             -fpermissive flag and the resulting warning as it is now. But
>>                             I'm assuming this is still a work in progress, so that is OK.
>>
>>                             Regards,
>>
>>                             Stephan.
>>
>>
>>                                     On 13 January 2019 at 19:52 Joan Moreau <jom at grosjo.net
>>                     <mailto:jom at grosjo.net>
>>                                     <mailto:jom at grosjo.net
>>                     <mailto:jom at grosjo.net>>> wrote:
>>
>>
>>                                     The only point here of this fts-xapian is to get rid
>>                                     of solr (because it
>>                                     is just a nightmare to setup) and squat (because it is considere
>>                                     obsolete).
>>
>>                                     I already sent the changed in configure.ac
>>                     <http://configure.ac>, makefile.am
>>                     <http://makefile.am>, etc.. in order
>>                                     to include it in the dovecot, and it compiles properly
>>
>>                                     The only remaining point is to push it in hte git (yes, everything is
>>                                     already done)
>>
>>                                     On 2019-01-13 18:45, Aki Tuomi wrote:
>>
>>                                             On 13 January 2019 at 17:05 Joan Moreau via
>>                                             dovecot <dovecot at dovecot.org
>>                     <mailto:dovecot at dovecot.org>
>>                                             <mailto:dovecot at dovecot.org
>>                     <mailto:dovecot at dovecot.org>>> wrote:
>>
>>                                             Hi
>>
>>                                             Please find attached the beta release of FTS
>>                                             Xapian, with the objective
>>                                             to replace fts_squat that is being deprecated.
>>
>>                                             Configuration is exactly the same as for fts_squat:
>>
>>                                             plugin {
>>
>>                                             plugin = fts fts_xapian (...)
>>                                             fts = xapian
>>                                             fts_autoindex = yes
>>                                             fts_enforced = yes
>>                                             fts_xapian = partial=2 full=20
>>
>>                                             This is installed on my production server
>>                                             (>120Gb of mailboxes), and I
>>                                             will observe it during the coming days.
>>
>>                                             I will definitely appreciate that this is added in the core git of
>>                                             docevot, in order to have a versionning of
>>                                             it, to remove squat and let
>>                                             basic users able to avoid Solr alternative as much as possible.
>>
>>                                             Thanks
>>
>>                                             JM
>>
>>                                         Hi!
>>
>>                                         I still recommend you setup a, say, github
>>                                         repository for your plugin. We are not able to
>>                                         currently include your work in dovecot core as it
>>                                         is more work than just pushing the code into the
>>                                         repo. Maybe it can be included in the future.
>>
>>                                         If you want, I can help you in setting up the
>>                                         required configuration scripts and such to make
>>                                         it possible to compile it as plugin.
>>
>>                                         Then anyone can download it and install it for
>>                                         their dovecot, even if dovecot itself has been
>>                                         installed from packages, and also makes it
>>                                         possible for package maintainers to consider
>>                                         including it in distributions.
>>
>>                                         Aki
>>
>>
>>
>>
>>      
>>     -- 
>>     Best regards,
>>     Odhiambo WASHINGTON,
>>     Nairobi,KE
>>     +254 7 3200 0004/+254 7 2274 3223
>>     "Oh, the cruft.", grep ^[^#] :-)
>
>
>
> -- 
> Best regards,
> Odhiambo WASHINGTON,
> Nairobi,KE
> +254 7 3200 0004/+254 7 2274 3223
> "Oh, the cruft.", grep ^[^#] :-)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://dovecot.org/pipermail/dovecot/attachments/20190114/89f09b61/attachment-0001.html>


More information about the dovecot mailing list