glfs/server/databases/sqlite.xml
Bruce Dubbs 4bf60a36d4 Some tags
git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@19036 af4574ff-66df-0310-9fd7-8a98e5e911e0
2017-08-18 19:42:43 +00:00

243 lines
7.5 KiB
XML

<?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 sqlite-dl-version "3200000">
<!ENTITY sqlite-doc-version "3200000">
<!ENTITY sqlite-download-http "https://sqlite.org/2017/sqlite-autoconf-&sqlite-dl-version;.tar.gz">
<!ENTITY sqlite-download-ftp " ">
<!ENTITY sqlite-md5sum "e262a28b73cc330e7e83520c8ce14e4d">
<!ENTITY sqlite-size "2.4 MB">
<!ENTITY sqlite-buildsize "48 MB (with docs)">
<!ENTITY sqlite-time "0.4 SBU">
<!ENTITY sqlite-docs-download "https://sqlite.org/2017/sqlite-doc-&sqlite-doc-version;.zip">
<!ENTITY sqlite-docs-md5sum "ed8f9d7dfb410853619e195af2e73250">
<!ENTITY sqlite-docs-size "5.5 MB">
]>
<sect1 id="sqlite" xreflabel="SQLite-&sqlite-version;">
<?dbhtml filename="sqlite.html"?>
<sect1info>
<othername>$LastChangedBy$</othername>
<date>$Date$</date>
</sect1info>
<title>SQLite-&sqlite-version;</title>
<indexterm zone="sqlite">
<primary sortas="a-SQLite">SQLite</primary>
</indexterm>
<sect2 role="package">
<title>Introduction to SQLite</title>
<para>
The <application>SQLite</application> package is a software library that
implements a self-contained, serverless, zero-configuration, transactional
SQL database engine.
</para>
&lfs81_checked;
<bridgehead renderas="sect3">Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>
Download (HTTP): <ulink url="&sqlite-download-http;"/>
</para>
</listitem>
<listitem>
<para>
Download (FTP): <ulink url="&sqlite-download-ftp;"/>
</para>
</listitem>
<listitem>
<para>
Download MD5 sum: &sqlite-md5sum;
</para>
</listitem>
<listitem>
<para>
Download size: &sqlite-size;
</para>
</listitem>
<listitem>
<para>
Estimated disk space required: &sqlite-buildsize;
</para>
</listitem>
<listitem>
<para>
Estimated build time: &sqlite-time;
</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">Additional Downloads</bridgehead>
<itemizedlist spacing="compact">
<title>Optional Documentation</title>
<listitem>
<para>
Download (HTTP): <ulink url="&sqlite-docs-download;"/>
</para>
</listitem>
<listitem>
<para>
Download MD5 sum: &sqlite-docs-md5sum;
</para>
</listitem>
<listitem>
<para>
Download size: &sqlite-docs-size;
</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">SQLite Dependencies</bridgehead>
<bridgehead renderas="sect4">Optional</bridgehead>
<para role="optional">
<ulink url="http://www.thrysoee.dk/editline/">libedit</ulink> and
<xref linkend="unzip"/> (required to unzip the documentation)
</para>
<para condition="html" role="usernotes">
User Notes: <ulink url="&blfs-wiki;/sqlite"/>
</para>
</sect2>
<sect2 role="installation">
<title>Installation of SQLite</title>
<para>
If you downloaded the optional documentation, issue the following command
to install the documentation into the source tree:
</para>
<screen><userinput>unzip -q ../sqlite-doc-&sqlite-doc-version;.zip</userinput></screen>
<para>
Install <application>SQLite</application> by running the following
commands:
</para>
<screen><userinput>./configure --prefix=/usr --disable-static \
CFLAGS="-g -O2 -DSQLITE_ENABLE_FTS3=1 \
-DSQLITE_ENABLE_COLUMN_METADATA=1 \
-DSQLITE_ENABLE_UNLOCK_NOTIFY=1 \
-DSQLITE_SECURE_DELETE=1 \
-DSQLITE_ENABLE_DBSTAT_VTAB=1" &amp;&amp;
make</userinput></screen>
<para>
This package does not come with a test suite.
</para>
<para>
Now, as the <systemitem class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>make install</userinput></screen>
<para>
If you downloaded the optional documentation, issue the following commands
as the <systemitem class="username">root</systemitem> user to install it:
</para>
<screen role="root"><userinput>install -v -m755 -d /usr/share/doc/sqlite-&sqlite-version; &amp;&amp;
cp -v -R sqlite-doc-&sqlite-doc-version;/* /usr/share/doc/sqlite-&sqlite-version;</userinput></screen>
</sect2>
<sect2 role="commands">
<title>Command Explanations</title>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../xincludes/static-libraries.xml"/>
<para>
<parameter>CFLAGS="-g -O2 -DSQLITE_ENABLE_FTS3=1
<!-- insecure, see below: -DSQLITE_ENABLE_FTS3_TOKENIZER=1 -->
-DSQLITE_ENABLE_COLUMN_METADATA=1
-DSQLITE_SECURE_DELETE -DSQLITE_ENABLE_UNLOCK_NOTIFY=1
-DSQLITE_ENABLE_DBSTAT_VTAB=1"</parameter>: Applications such as
<application>Firefox</application> require secure delete and enable
unlock notify to be turned on.
<!-- Thunderbird requires the
fts3_tokenizer option: this option is insecure if set for any
application using sqlite on the host. So it is disabled for now, and the
thunderbird static sqlite library is used instead.-->
Since <application>firefox-41</application> the dbstat virtual
table is also required. The only way to do this is to include them in the
CFLAGS. By default, these are set to <literal>"-g -O2"</literal> so we
specify that to preserve those settings. You may, of course, wish to omit
the <literal>'-g'</literal> if you do not wish to create debugging
information. For further information on what can be specified see <ulink
url="http://www.sqlite.org/compile.html"/>.
</para>
</sect2>
<sect2 role="content">
<title>Contents</title>
<segmentedlist>
<segtitle>Installed Program</segtitle>
<segtitle>Installed Library</segtitle>
<segtitle>Installed Directory</segtitle>
<seglistitem>
<seg>
sqlite3
</seg>
<seg>
libsqlite3.so
</seg>
<seg>
/usr/share/doc/sqlite-&sqlite-version;
</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="sqlite3">
<term><command>sqlite3</command></term>
<listitem>
<para>
A terminal-based front-end to the <application>SQLite</application>
library that can evaluate queries interactively and display the
results.
</para>
<indexterm zone="sqlite sqlite3">
<primary sortas="b-sqlite3">sqlite3</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libsqlite3">
<term><filename class="libraryfile">libsqlite3.so</filename></term>
<listitem>
<para>
contains the <application>SQLite</application> API functions.
</para>
<indexterm zone="sqlite libsqlite3">
<primary sortas="c-libsqlite3">libsqlite3.so</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>