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