<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
   "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
  <!ENTITY % general-entities SYSTEM "../../general.ent">
  %general-entities;

  <!ENTITY strigi-download-http "http://www.vandenoever.info/software/strigi/strigi-&strigi-version;.tar.bz2">
  <!ENTITY strigi-download-ftp  " ">
  <!ENTITY strigi-md5sum        "d69443234f4286d71997db9de543331a">
  <!ENTITY strigi-size          "811 KB">
  <!ENTITY strigi-buildsize     "52 MB">
  <!ENTITY strigi-time          "1.2 SBU">
]>

<sect1 id="strigi" xreflabel="strigi-&strigi-version;">
  <?dbhtml filename="strigi.html"?>

  <sect1info>
    <othername>$LastChangedBy: bdubbs $</othername>
    <date>$Date: 2015-02-24 00:00:51 -0500 (Tue, 24 Feb 2015) $</date>
  </sect1info>

  <title>Strigi-&strigi-version;</title>

  <indexterm zone="strigi">
    <primary sortas="a-strigi">strigi</primary>
  </indexterm>

  <sect2 role="package">
    <title>Introduction to Strigi</title>

    <para><application>Strigi</application> is a program for fast indexing and
    searching of personal data. It can gather and index information from
    files in the filesystem even if they are hidden in emails or
    archives.</para>

    &lfs77_checked;

    <bridgehead renderas="sect3">Package Information</bridgehead>
    <itemizedlist spacing="compact">
      <listitem>
        <para>Download (HTTP): <ulink url="&strigi-download-http;"/></para>
      </listitem>
      <listitem>
        <para>Download (FTP): <ulink url="&strigi-download-ftp;"/></para>
      </listitem>
      <listitem>
        <para>Download MD5 sum: &strigi-md5sum;</para>
      </listitem>
      <listitem>
        <para>Download size: &strigi-size;</para>
      </listitem>
      <listitem>
        <para>Estimated disk space required: &strigi-buildsize;</para>
      </listitem>
      <listitem>
        <para>Estimated build time: &strigi-time;</para>
      </listitem>
    </itemizedlist>

    <bridgehead renderas="sect3">Strigi Dependencies</bridgehead>

    <bridgehead renderas="sect4">Required</bridgehead>
    <para role="required">
      <xref linkend="cmake"/>
    </para>

    <bridgehead renderas="sect4">Recommended</bridgehead>
    <para role="recommended">
      <xref linkend="dbus"/> and
      <xref linkend="qt4"/> 
    </para>

    <bridgehead renderas="sect4">Optional</bridgehead>
    <para role="optional">
      <xref linkend="ffmpeg"/>,
      <xref linkend="exiv2"/>,
      <xref linkend="libxml2"/>,
      <ulink url="http://sourceforge.net/projects/clucene/files/clucene-core-stable/">
         CLucene version 0.9x</ulink> , and
      <ulink url="http://logging.apache.org/log4cxx/">log4cxx</ulink>
    </para>

    <para condition="html" role="usernotes">User Notes:
    <ulink url="&blfs-wiki;/strigi"/></para>

  </sect2>

  <sect2 role="installation">
    <title>Installation of Strigi</title>

    <para>Install <application>strigi</application> by running the following
    commands:</para>

<screen><userinput>sed -i "s/BufferedStream :/STREAMS_EXPORT &amp;/" libstreams/include/strigi/bufferedstream.h &amp;&amp;

mkdir build &amp;&amp;
cd    build &amp;&amp;

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_INSTALL_LIBDIR=lib  \
      -DCMAKE_BUILD_TYPE=Release  \
      -DENABLE_CLUCENE=OFF        \
      -DENABLE_CLUCENE_NG=OFF     \
      .. &amp;&amp;
make</userinput></screen>

    <para>To test the results, issue <command>make test</command>.</para>

    <para>Now, as the <systemitem class="username">root</systemitem> user:</para>

<screen role="root"><userinput>make install</userinput></screen>

  </sect2>

  <sect2 role="commands">
    <title>Command Explanations</title>

    <para>
      <command>sed -i "..."</command>: This command fixes the build with recent
      <application>GCC</application> versions.
    </para>

    <para>
      <parameter>-DCMAKE_INSTALL_LIBDIR=lib</parameter>: This switch is used so
      the package doesn't write over the lib64 symlink on 64 bit systems.
    </para>

    <para>
      <parameter>-DCMAKE_BUILD_TYPE=Release</parameter>: This switch is used to
      apply higher level of the compiler optimizations.
    </para>

    <para>
      <option>-DENABLE_DBUS=OFF</option>: Use this <command>cmake</command>
      variable if you don't have <application>D-Bus</application> installed.
    </para>

    <para>
      <option>-DENABLE_QT4=OFF</option>: Use this <command>cmake</command>
      variable if you don't have <application>Qt4</application> installed or if
      you compiled <application>Qt4</application> without
      <application>D-Bus</application> support.
    </para>

    <para>
      <option>-DENABLE_CLUCENE*=OFF</option>: These statements disable the
      package from trying to use <xref linkend="clucene"/> (current stable
      version). 
    </para>

  </sect2>

  <sect2 role="content">
    <title>Contents</title>

    <segmentedlist>
      <segtitle>Installed Programs</segtitle>
      <segtitle>Installed Libraries</segtitle>
      <segtitle>Installed Directories</segtitle>

      <seglistitem>
        <seg>deepfind, deepgrep, rdfindexer, strigiclient, strigicmd,
        strigidaemon, and xmlindexer</seg>
        <seg>libsearchclient.so, libstreamanalyzer.so, libstreams.so,
        libstrigihtmlgui.so, libstrigiqtdbusclient.so, and several in
        /usr/lib/strigi</seg>
        <seg>/usr/include/strigi, /usr/lib/strigi, and /usr/share/strigi</seg>
      </seglistitem>
    </segmentedlist>

    <variablelist>
      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
      <?dbfo list-presentation="list"?>
      <?dbhtml list-presentation="table"?>

      <varlistentry id="deepfind">
        <term><command>deepfind</command></term>
        <listitem>
          <para>is a utility for searching for filenames in compressed 
          archives like tar, cpio, and zip</para>
          <indexterm zone="strigi deepfind">
            <primary sortas="b-deepfind">deepfind</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="deepgrep">
        <term><command>deepgrep</command></term>
        <listitem>
          <para>is a utility for searching compressed archives like 
                    tar, cpio, and zip</para>
          <indexterm zone="strigi deepgrep">
            <primary sortas="b-deepgrep">deepgrep</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="rdfindexer">
        <term><command>rdfindexer</command></term>
        <listitem>
          <para>manages and performs indexing of the RDF data for entities 
          present on your site</para>
          <indexterm zone="strigi rdfindexer">
            <primary sortas="b-rdfindexer">rdfindexer</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="strigiclient">
        <term><command>strigiclient</command></term>
        <listitem>
          <para>is a Qt4 client (GUI) for the Strigi Desktop Search software</para>
          <indexterm zone="strigi strigiclient">
            <primary sortas="b-strigiclient">strigiclient</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="strigicmd">
        <term><command>strigicmd</command></term>
        <listitem>
          <para>is a program for creating and querying indices</para>
          <indexterm zone="strigi strigicmd">
            <primary sortas="b-strigicmd">strigicmd</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="strigidaemon">
        <term><command>strigidaemon</command></term>
        <listitem>
          <para>is a daemon program for maintaining indices</para>
          <indexterm zone="strigi strigidaemon">
            <primary sortas="b-strigidaemon">strigidaemon</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="xmlindexer">
        <term><command>xmlindexer</command></term>
        <listitem>
          <para>indexes XML documents</para>
          <indexterm zone="strigi xmlindexer">
            <primary sortas="b-xmlindexer">xmlindexer</primary>
          </indexterm>
        </listitem>
      </varlistentry>

    </variablelist>

  </sect2>

</sect1>
