glfs/networking/netlibs/serf.xml

216 lines
6.1 KiB
XML
Raw Normal View History

<?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 serf-download-http "https://archive.apache.org/dist/serf/serf-&serf-version;.tar.bz2">
<!ENTITY serf-download-ftp " ">
<!ENTITY serf-md5sum "370a6340ff20366ab088012cd13f2b57">
<!ENTITY serf-size "144 KB">
<!ENTITY serf-buildsize "3.2 MB">
<!ENTITY serf-time "less than 0.1 SBU">
]>
<sect1 id="serf" xreflabel="Serf-&serf-version;">
<?dbhtml filename="serf.html"?>
<sect1info>
<date>$Date$</date>
</sect1info>
<title>Serf-&serf-version;</title>
<indexterm zone="serf">
<primary sortas="a-Serf">Serf</primary>
</indexterm>
<sect2 role="package">
<title>Introduction to Serf</title>
<para>
The <application>Serf</application> package contains a C-based HTTP client
library built upon the Apache Portable Runtime (APR) library. It
multiplexes connections, running the read/write communication asynchronously.
Memory copies and transformations are kept to a minimum to provide high
performance operation.
</para>
&lfs111_checked;
<bridgehead renderas="sect3">Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>
Download (HTTP): <ulink url="&serf-download-http;"/>
</para>
</listitem>
<listitem>
<para>
Download (FTP): <ulink url="&serf-download-ftp;"/>
</para>
</listitem>
<listitem>
<para>
Download MD5 sum: &serf-md5sum;
</para>
</listitem>
<listitem>
<para>
Download size: &serf-size;
</para>
</listitem>
<listitem>
<para>
Estimated disk space required: &serf-buildsize;
</para>
</listitem>
<listitem>
<para>
Estimated build time: &serf-time;
</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">Additional Downloads</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>
Required patch:
<ulink url="&patch-root;/serf-&serf-version;-openssl3_fixes-1.patch"/>
</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">Serf Dependencies</bridgehead>
<bridgehead renderas="sect4">Required</bridgehead>
<para role="required">
<xref linkend="apr-util"/> and
<xref linkend="scons"/>
</para>
<bridgehead renderas="sect4">Optional</bridgehead>
<para role="optional">
<xref linkend="mitkrb"/>, for the GSSAPI
</para>
<para condition="html" role="usernotes">
User Notes: <ulink url="&blfs-wiki;/serf"/>
</para>
</sect2>
<sect2 role="installation">
<title>Installation of Serf</title>
<para>
First, fix an issue that causes compilation issues in other packages
when using OpenSSL-3:
</para>
<screen><userinput remap="pre">patch -Np1 -i ../serf-&serf-version;-openssl3_fixes-1.patch</userinput></screen>
<para>
Install <application>Serf</application> by running the following
commands:
</para>
<screen><userinput>sed -i "/Append/s:RPATH=libdir,::" SConstruct &amp;&amp;
sed -i "/Default/s:lib_static,::" SConstruct &amp;&amp;
sed -i "/Alias/s:install_static,::" SConstruct &amp;&amp;
sed -i "/ print/{s/print/print(/; s/$/)/}" SConstruct &amp;&amp;
sed -i "/get_contents()/s/,/.decode()&amp;/" SConstruct &amp;&amp;
scons PREFIX=/usr</userinput></screen>
<!-- I did not find this to be needed as of 1.3.9 -renodr
<para>
If you wish to run the test suite, fix one file:
</para>
<screen><userinput>sed -i test/test_buckets.c \
-e 's://\( buf_size = orig_len + (orig_len / 1000) + 12;\):/\*\1\ */:'</userinput></screen>
-->
<!-- With Python 3, check.py is broken. It could be fixed, but since the
testsuite hangs anyway...
<para>
To test the results, issue: <command>scons check</command>.
The tests currently will cause a hang.
</para>
-->
<para>
This package does not come with a functional testsuite.
</para>
<para>
Now, as the <systemitem class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>scons PREFIX=/usr install</userinput></screen>
</sect2>
<sect2 role="commands">
<title>Command Explanations</title>
<para>
<command>sed -i "..."</command>: The first command removes the runtime
path from a shared library and the next two commands disable building and
installing of the static library. The fourth command corrects for
changes in scons-3.x. The last command allows to use <application>
Python 3</application>.
</para>
<para>
<option>GSSAPI=/usr</option>: Use this switch if you have installed a
GSSAPI library and you want <application>serf</application> to use it.
</para>
</sect2>
<sect2 role="content">
<title>Contents</title>
<segmentedlist>
<segtitle>Installed Programs</segtitle>
<segtitle>Installed Library</segtitle>
<segtitle>Installed Directory</segtitle>
<seglistitem>
<seg>
None
</seg>
<seg>
libserf-1.so
</seg>
<seg>
/usr/include/serf-1
</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="libserf-1">
<term><filename class="libraryfile">libserf-1.so</filename></term>
<listitem>
<para>
contains the <application>Serf</application> API functions
</para>
<indexterm zone="serf libserf-1">
<primary sortas="c-libserf-1">libserf-1.so</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>