[FTS Xapian] Beta release
Odhiambo Washington
odhiambo at gmail.com
Mon Jan 14 14:29:10 EET 2019
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> 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>
> 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>
>> Date: 13/01/2019 21:39 (GMT+02:00)
>> To: Stephan Bosch <stephan at rename-it.nl>
>> Cc: Aki Tuomi <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: not using Gettext
>> autoreconf: running: aclocal -I m4
>> autoreconf: 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: installing './compile'
>> configure.ac:11: installing './config.guess'
>> configure.ac:11: installing './config.sub'
>> configure.ac:7: installing './install-sh'
>> configure.ac:7: installing './missing'
>> src/Makefile.am: installing './depcomp'
>> /usr/share/automake-1.16/am/depend2.am: error: am__fastdepCXX does not
>> appear in AM_CONDITIONAL
>> /usr/share/automake-1.16/am/depend2.am: The usual way to define
>> 'am__fastdepCXX' is to add 'AC_PROG_CXX'
>> /usr/share/automake-1.16/am/depend2.am: to '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' 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>> 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, 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>> 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/a7030d88/attachment-0001.html>
More information about the dovecot
mailing list