|
a/src/doc/user/usermanual.html |
|
b/src/doc/user/usermanual.html |
|
... |
|
... |
374 |
<dd>
|
374 |
<dd>
|
375 |
<dl>
|
375 |
<dl>
|
376 |
<dt><span class="sect2">6.3.1. <a href=
|
376 |
<dt><span class="sect2">6.3.1. <a href=
|
377 |
"#RCL.INSTALL.BUILDING.PREREQS">Prerequisites</a></span></dt>
|
377 |
"#RCL.INSTALL.BUILDING.PREREQS">Prerequisites</a></span></dt>
|
378 |
<dt><span class="sect2">6.3.2. <a href=
|
378 |
<dt><span class="sect2">6.3.2. <a href=
|
379 |
"#RCL.INSTALL.BUILDING.BUILD">Building</a></span></dt>
|
379 |
"#RCL.INSTALL.BUILDING.BUILDING">Building</a></span></dt>
|
380 |
<dt><span class="sect2">6.3.3. <a href=
|
380 |
<dt><span class="sect2">6.3.3. <a href=
|
381 |
"#RCL.INSTALL.BUILDING.INSTALL">Installation</a></span></dt>
|
381 |
"#RCL.INSTALL.BUILDING.INSTALL">Installing</a></span></dt>
|
|
|
382 |
<dt><span class="sect2">6.3.4. <a href=
|
|
|
383 |
"#RCL.INSTALL.BUILDING.PYTHON">Python API
|
|
|
384 |
package</a></span></dt>
|
|
|
385 |
<dt><span class="sect2">6.3.5. <a href=
|
|
|
386 |
"#RCL.INSTALL.BUILDING.SOLARIS">Building on
|
|
|
387 |
Solaris</a></span></dt>
|
382 |
</dl>
|
388 |
</dl>
|
383 |
</dd>
|
389 |
</dd>
|
384 |
<dt><span class="sect1">6.4. <a href=
|
390 |
<dt><span class="sect1">6.4. <a href=
|
385 |
"#RCL.INSTALL.CONFIG">Configuration
|
391 |
"#RCL.INSTALL.CONFIG">Configuration
|
386 |
overview</a></span></dt>
|
392 |
overview</a></span></dt>
|
|
... |
|
... |
2126 |
Also the log file will only be truncated when the daemon
|
2132 |
Also the log file will only be truncated when the daemon
|
2127 |
starts. If the daemon runs permanently, the log file may
|
2133 |
starts. If the daemon runs permanently, the log file may
|
2128 |
grow quite big, depending on the log level.</p>
|
2134 |
grow quite big, depending on the log level.</p>
|
2129 |
<p>When building <span class="application">Recoll</span>,
|
2135 |
<p>When building <span class="application">Recoll</span>,
|
2130 |
the real time indexing support can be customised during
|
2136 |
the real time indexing support can be customised during
|
2131 |
package <a class="link" href="#RCL.INSTALL.BUILDING.BUILD"
|
2137 |
package <a class="link" href="#RCL.INSTALL.BUILDING" title=
|
2132 |
title="6.3.2. Building">configuration</a> with the
|
2138 |
"6.3. Building from source">configuration</a> with the
|
2133 |
<code class="option">--with[out]-fam</code> or <code class=
|
2139 |
<code class="option">--with[out]-fam</code> or <code class=
|
2134 |
"option">--with[out]-inotify</code> options. The default is
|
2140 |
"option">--with[out]-inotify</code> options. The default is
|
2135 |
currently to include <span class=
|
2141 |
currently to include <span class=
|
2136 |
"application">inotify</span> monitoring on systems that
|
2142 |
"application">inotify</span> monitoring on systems that
|
2137 |
support it, and, as of <span class=
|
2143 |
support it, and, as of <span class=
|
|
... |
|
... |
6168 |
</div>
|
6174 |
</div>
|
6169 |
<p>We will describe the new API and package structure
|
6175 |
<p>We will describe the new API and package structure
|
6170 |
here. A paragraph at the end of this section will explain
|
6176 |
here. A paragraph at the end of this section will explain
|
6171 |
a few differences and ways to write code compatible with
|
6177 |
a few differences and ways to write code compatible with
|
6172 |
both versions.</p>
|
6178 |
both versions.</p>
|
6173 |
<p>The Python interface can be found in the source
|
6179 |
<p>There is a good chance that your system repository has
|
6174 |
package, under <code class=
|
6180 |
packages for the Recoll Python API, sometimes in a
|
6175 |
"filename">python/recoll</code>.</p>
|
6181 |
package separate from the main one (maybe named something
|
6176 |
<p>The <code class="filename">python/recoll/</code>
|
6182 |
like python-recoll). Else refer to the <a class="link"
|
6177 |
directory contains the usual <code class=
|
6183 |
href="#RCL.INSTALL.BUILDING" title=
|
6178 |
"filename">setup.py</code>. After configuring the main
|
6184 |
"6.3. Building from source">Building from source
|
6179 |
<span class="application">Recoll</span> code, you can use
|
6185 |
chapter</a>.</p>
|
6180 |
the script to build and install the Python module:</p>
|
|
|
6181 |
<pre class="screen">
|
|
|
6182 |
<strong class=
|
|
|
6183 |
"userinput"><code>cd recoll-xxx/python/recoll</code></strong>
|
|
|
6184 |
<strong class=
|
|
|
6185 |
"userinput"><code>python setup.py build</code></strong>
|
|
|
6186 |
<strong class=
|
|
|
6187 |
"userinput"><code>python setup.py install</code></strong>
|
|
|
6188 |
</pre>
|
|
|
6189 |
<p>As of <span class="application">Recoll</span> 1.19,
|
|
|
6190 |
the module can be compiled for Python3.</p>
|
|
|
6191 |
<p>The normal <span class="application">Recoll</span>
|
|
|
6192 |
installer installs the Python2 API along with the main
|
|
|
6193 |
code. The Python3 version must be explicitely built and
|
|
|
6194 |
installed.</p>
|
|
|
6195 |
<p>When installing from a repository, and depending on
|
|
|
6196 |
the distribution, the Python API can sometimes be found
|
|
|
6197 |
in a separate package.</p>
|
|
|
6198 |
<p>As an introduction, the following small sample will
|
6186 |
<p>As an introduction, the following small sample will
|
6199 |
run a query and list the title and url for each of the
|
6187 |
run a query and list the title and url for each of the
|
6200 |
results. It would work with <span class=
|
6188 |
results. It would work with <span class=
|
6201 |
"application">Recoll</span> 1.19 and later. The
|
6189 |
"application">Recoll</span> 1.19 and later. The
|
6202 |
<code class="filename">python/samples</code> source
|
6190 |
<code class="filename">python/samples</code> source
|
|
... |
|
... |
6214 |
nres = query.execute("some query")
|
6202 |
nres = query.execute("some query")
|
6215 |
results = query.fetchmany(20)
|
6203 |
results = query.fetchmany(20)
|
6216 |
for doc in results:
|
6204 |
for doc in results:
|
6217 |
print(doc.url, doc.title)
|
6205 |
print(doc.url, doc.title)
|
6218 |
</pre>
|
6206 |
</pre>
|
|
|
6207 |
<p>You can also take a look at the source for the
|
|
|
6208 |
<a class="ulink" href=
|
|
|
6209 |
"https://github.com/koniu/recoll-webui" target=
|
|
|
6210 |
"_top">Recoll WebUI</a>, or the <a class="ulink" href=
|
|
|
6211 |
"https://opensourceprojects.eu/p/upmpdcli/code/ci/c8c8e75bd181ad9db2df14da05934e53ca867a06/tree/src/mediaserver/cdplugins/uprcl/uprclfolders.py"
|
|
|
6212 |
target="_top">upmpdcli local media server</a>, which are
|
|
|
6213 |
both based on the Python API.</p>
|
6219 |
</div>
|
6214 |
</div>
|
6220 |
<div class="sect2">
|
6215 |
<div class="sect2">
|
6221 |
<div class="titlepage">
|
6216 |
<div class="titlepage">
|
6222 |
<div>
|
6217 |
<div>
|
6223 |
<div>
|
6218 |
<div>
|
|
... |
|
... |
7573 |
<div class="sect2">
|
7568 |
<div class="sect2">
|
7574 |
<div class="titlepage">
|
7569 |
<div class="titlepage">
|
7575 |
<div>
|
7570 |
<div>
|
7576 |
<div>
|
7571 |
<div>
|
7577 |
<h3 class="title"><a name=
|
7572 |
<h3 class="title"><a name=
|
7578 |
"RCL.INSTALL.BUILDING.BUILD" id=
|
7573 |
"RCL.INSTALL.BUILDING.BUILDING" id=
|
7579 |
"RCL.INSTALL.BUILDING.BUILD"></a>6.3.2. Building</h3>
|
7574 |
"RCL.INSTALL.BUILDING.BUILDING"></a>6.3.2. Building</h3>
|
7580 |
</div>
|
7575 |
</div>
|
7581 |
</div>
|
7576 |
</div>
|
7582 |
</div>
|
7577 |
</div>
|
7583 |
<p><span class="application">Recoll</span> has been built
|
7578 |
<p><span class="application">Recoll</span> has been built
|
7584 |
on Linux, FreeBSD, Mac OS X, and Solaris, most versions
|
7579 |
on Linux, FreeBSD, Mac OS X, and Solaris, most versions
|
|
... |
|
... |
7716 |
"userinput"><code>./configure</code></strong>
|
7711 |
"userinput"><code>./configure</code></strong>
|
7717 |
<strong class="userinput"><code>make</code></strong>
|
7712 |
<strong class="userinput"><code>make</code></strong>
|
7718 |
<strong class=
|
7713 |
<strong class=
|
7719 |
"userinput"><code>(practices usual hardship-repelling invocations)</code></strong>
|
7714 |
"userinput"><code>(practices usual hardship-repelling invocations)</code></strong>
|
7720 |
</pre>
|
7715 |
</pre>
|
7721 |
<p>When building from source cloned from the BitBucket
|
7716 |
<p>When building from source cloned from the git
|
7722 |
repository, you also need to install <span class=
|
7717 |
repository, you also need to install <span class=
|
7723 |
"application">autoconf</span>, <span class=
|
7718 |
"application">autoconf</span>, <span class=
|
7724 |
"application">automake</span>, and <span class=
|
7719 |
"application">automake</span>, and <span class=
|
7725 |
"application">libtool</span> and you must execute
|
7720 |
"application">libtool</span> and you must execute
|
7726 |
<code class="literal">sh autogen.sh</code> in the top
|
7721 |
<code class="literal">sh autogen.sh</code> in the top
|
7727 |
source directory before running <code class=
|
7722 |
source directory before running <code class=
|
7728 |
"literal">configure</code>.</p>
|
7723 |
"literal">configure</code>.</p>
|
7729 |
<div class="sect3">
|
|
|
7730 |
<div class="titlepage">
|
|
|
7731 |
<div>
|
|
|
7732 |
<div>
|
|
|
7733 |
<h4 class="title"><a name=
|
|
|
7734 |
"RCL.INSTALL.BUILDING.BUILD.SOLARIS" id=
|
|
|
7735 |
"RCL.INSTALL.BUILDING.BUILD.SOLARIS"></a>6.3.2.1. Building
|
|
|
7736 |
on Solaris</h4>
|
|
|
7737 |
</div>
|
|
|
7738 |
</div>
|
|
|
7739 |
</div>
|
|
|
7740 |
<p>We did not test building the GUI on Solaris for
|
|
|
7741 |
recent versions. You will need at least Qt 4.4. There
|
|
|
7742 |
are some hints on <a class="ulink" href=
|
|
|
7743 |
"http://www.recoll.org/download-1.14.html" target=
|
|
|
7744 |
"_top">an old web site page</a>, they may still be
|
|
|
7745 |
valid.</p>
|
|
|
7746 |
<p>Someone did test the 1.19 indexer and Python module
|
|
|
7747 |
build, they do work, with a few minor glitches. Be sure
|
|
|
7748 |
to use GNU <span class=
|
|
|
7749 |
"command"><strong>make</strong></span> and <span class=
|
|
|
7750 |
"command"><strong>install</strong></span>.</p>
|
|
|
7751 |
</div>
|
|
|
7752 |
</div>
|
7724 |
</div>
|
7753 |
<div class="sect2">
|
7725 |
<div class="sect2">
|
7754 |
<div class="titlepage">
|
7726 |
<div class="titlepage">
|
7755 |
<div>
|
7727 |
<div>
|
7756 |
<div>
|
7728 |
<div>
|
7757 |
<h3 class="title"><a name=
|
7729 |
<h3 class="title"><a name=
|
7758 |
"RCL.INSTALL.BUILDING.INSTALL" id=
|
7730 |
"RCL.INSTALL.BUILDING.INSTALL" id=
|
7759 |
"RCL.INSTALL.BUILDING.INSTALL"></a>6.3.3. Installation</h3>
|
7731 |
"RCL.INSTALL.BUILDING.INSTALL"></a>6.3.3. Installing</h3>
|
7760 |
</div>
|
7732 |
</div>
|
7761 |
</div>
|
7733 |
</div>
|
7762 |
</div>
|
7734 |
</div>
|
7763 |
<p>Use <strong class="userinput"><code>make
|
7735 |
<p>Use <strong class="userinput"><code>make
|
7764 |
install</code></strong> in the root of the source tree.
|
7736 |
install</code></strong> in the root of the source tree.
|
|
... |
|
... |
7766 |
"filename"><em class=
|
7738 |
"filename"><em class=
|
7767 |
"replaceable"><code>prefix</code></em>/bin</code> and the
|
7739 |
"replaceable"><code>prefix</code></em>/bin</code> and the
|
7768 |
sample configuration files, scripts and other shared data
|
7740 |
sample configuration files, scripts and other shared data
|
7769 |
to <code class="filename"><em class=
|
7741 |
to <code class="filename"><em class=
|
7770 |
"replaceable"><code>prefix</code></em>/share/recoll</code>.</p>
|
7742 |
"replaceable"><code>prefix</code></em>/share/recoll</code>.</p>
|
|
|
7743 |
</div>
|
|
|
7744 |
<div class="sect2">
|
|
|
7745 |
<div class="titlepage">
|
|
|
7746 |
<div>
|
|
|
7747 |
<div>
|
|
|
7748 |
<h3 class="title"><a name=
|
|
|
7749 |
"RCL.INSTALL.BUILDING.PYTHON" id=
|
|
|
7750 |
"RCL.INSTALL.BUILDING.PYTHON"></a>6.3.4. Python
|
|
|
7751 |
API package</h3>
|
|
|
7752 |
</div>
|
|
|
7753 |
</div>
|
|
|
7754 |
</div>
|
|
|
7755 |
<p>The Python interface can be found in the source tree,
|
|
|
7756 |
under the <code class="filename">python/recoll</code>
|
|
|
7757 |
directory.</p>
|
|
|
7758 |
<p>As of <span class="application">Recoll</span> 1.19,
|
|
|
7759 |
the module can be compiled for Python3.</p>
|
|
|
7760 |
<p>The normal <span class="application">Recoll</span>
|
|
|
7761 |
build procedure (see above) installs the API package for
|
|
|
7762 |
the default system version (python) along with the main
|
|
|
7763 |
code. The package for other Python versions (e.g. python3
|
|
|
7764 |
if the system default is python2) must be explicitely
|
|
|
7765 |
built and installed.</p>
|
|
|
7766 |
<p>The <code class="filename">python/recoll/</code>
|
|
|
7767 |
directory contains the usual <code class=
|
|
|
7768 |
"filename">setup.py</code>. After configuring and
|
|
|
7769 |
building the main <span class="application">Recoll</span>
|
|
|
7770 |
code, you can use the script to build and install the
|
|
|
7771 |
Python module:</p>
|
|
|
7772 |
<pre class="screen">
|
|
|
7773 |
<strong class=
|
|
|
7774 |
"userinput"><code>cd recoll-xxx/python/recoll</code></strong>
|
|
|
7775 |
<strong class=
|
|
|
7776 |
"userinput"><code>pythonX setup.py build</code></strong>
|
|
|
7777 |
<strong class=
|
|
|
7778 |
"userinput"><code>sudo pythonX setup.py install</code></strong>
|
|
|
7779 |
</pre>
|
|
|
7780 |
</div>
|
|
|
7781 |
<div class="sect2">
|
|
|
7782 |
<div class="titlepage">
|
|
|
7783 |
<div>
|
|
|
7784 |
<div>
|
|
|
7785 |
<h3 class="title"><a name=
|
|
|
7786 |
"RCL.INSTALL.BUILDING.SOLARIS" id=
|
|
|
7787 |
"RCL.INSTALL.BUILDING.SOLARIS"></a>6.3.5. Building
|
|
|
7788 |
on Solaris</h3>
|
|
|
7789 |
</div>
|
|
|
7790 |
</div>
|
|
|
7791 |
</div>
|
|
|
7792 |
<p>We did not test building the GUI on Solaris for recent
|
|
|
7793 |
versions. You will need at least Qt 4.4. There are some
|
|
|
7794 |
hints on <a class="ulink" href=
|
|
|
7795 |
"http://www.recoll.org/download-1.14.html" target=
|
|
|
7796 |
"_top">an old web site page</a>, they may still be
|
|
|
7797 |
valid.</p>
|
|
|
7798 |
<p>Someone did test the 1.19 indexer and Python module
|
|
|
7799 |
build, they do work, with a few minor glitches. Be sure
|
|
|
7800 |
to use GNU <span class=
|
|
|
7801 |
"command"><strong>make</strong></span> and <span class=
|
|
|
7802 |
"command"><strong>install</strong></span>.</p>
|
7771 |
</div>
|
7803 |
</div>
|
7772 |
</div>
|
7804 |
</div>
|
7773 |
<div class="sect1">
|
7805 |
<div class="sect1">
|
7774 |
<div class="titlepage">
|
7806 |
<div class="titlepage">
|
7775 |
<div>
|
7807 |
<div>
|