[FTS Xapian] Beta release
Stephan Bosch
stephan at rename-it.nl
Mon Jan 14 15:24:46 EET 2019
Op 14-1-2019 om 13:40 schreef Aki Tuomi:
>
> Just to remind that now that there is a github repo for fts-xapian,
> you could maybe open these issues there instead?
>
Although README.md currently says:
"Please feel free to send your questions, together with the dovecot log
file, to jom at grosjo.net <mailto:jom at grosjo.net> or to the dovecot ML
dovecot at dovecot.org <mailto:dovecot at dovecot.org>."
Regards,
Stephan.
> 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 ^[^#] :-)
More information about the dovecot
mailing list