glfs/networking/netlibs/curl.xml
Andrew Benton 795e92168c typo
git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@9482 af4574ff-66df-0310-9fd7-8a98e5e911e0
2012-02-20 00:38:41 +00:00

205 lines
7.4 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 curl-download-http
"http://curl.haxx.se/download/curl-&curl-version;.tar.lzma">
<!--<!ENTITY curl-download-ftp
"ftp://gd.tuwien.ac.at/utils/archivers/curl/curl-&curl-version;.tar.bz2">-->
<!ENTITY curl-download-ftp " ">
<!ENTITY curl-md5sum "713d7d7cbc5cfaabd785a2ff905096f2">
<!ENTITY curl-size "1.9 MB">
<!ENTITY curl-buildsize "31 MB">
<!ENTITY curl-time "0.5 SBU">
]>
<sect1 id="curl" xreflabel="cURL-&curl-version;">
<?dbhtml filename="curl.html"?>
<sect1info>
<othername>$LastChangedBy$</othername>
<date>$Date$</date>
</sect1info>
<title>cURL-&curl-version;</title>
<indexterm zone="curl">
<primary sortas="a-cURL">cURL</primary>
</indexterm>
<sect2 role="package">
<title>Introduction to cURL</title>
<para>The <application>cURL</application> package contains
<command>curl</command> and its support library
<filename class="libraryfile">libcurl</filename>. This is useful for
transferring files with URL syntax to any of the following protocols:
FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS and FILE.
This ability to both download and upload files can be incorporated into
other programs to support functions like streaming media.</para>
&lfs70_checked;
<bridgehead renderas="sect3">Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>Download (HTTP): <ulink url="&curl-download-http;"/></para>
</listitem>
<listitem>
<para>Download (FTP): <ulink url="&curl-download-ftp;"/></para>
</listitem>
<listitem>
<para>Download MD5 sum: &curl-md5sum;</para>
</listitem>
<listitem>
<para>Download size: &curl-size;</para>
</listitem>
<listitem>
<para>Estimated disk space required: &curl-buildsize;</para>
</listitem>
<listitem>
<para>Estimated build time: &curl-time;</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">cURL Dependencies</bridgehead>
<bridgehead renderas="sect4">Optional</bridgehead>
<para role="optional"><!-- <xref linkend="pkgconfig"/>, -->
<xref linkend="openssl"/> or <xref linkend="gnutls"/>,
<xref linkend="openldap"/>,
<xref linkend="libidn"/>,
<xref linkend="mitkrb"/> or <xref linkend="heimdal"/>,
<ulink url="http://www.libssh2.org">libssh2</ulink>
(for secure transfers),
<ulink url="http://www.pdc.kth.se/kth-krb/">krb4</ulink>,
<ulink
url="http://www.vintela.com/resources/topics/spnego/">SPNEGO</ulink>, and
<ulink url="http://daniel.haxx.se/projects/c-ares/">c-ares</ulink></para>
<bridgehead renderas="sect4">Optional for Running the Test
Suite</bridgehead>
<para role="optional"><xref linkend="stunnel"/> (for the HTTPS and FTPS
tests)</para>
<!-- and
<ulink url="http://valgrind.org/">Valgrind</ulink> (not used if building
the shared library)</para> -->
<para condition="html" role="usernotes">User Notes:
<ulink url="&blfs-wiki;/curl"/></para>
</sect2>
<sect2 role="installation">
<title>Installation of cURL</title>
<para>Install <application>cURL</application> by running the following
commands:</para>
<screen><userinput>./configure --prefix=/usr --disable-static --with-ca-path=/etc/ssl/certs &amp;&amp;
make</userinput></screen>
<para>To test the results, issue: <command>make check</command>. Note that
if you have <application>Stunnel</application> and
<application>TCP Wrapper</application> installed and you wish to perform
the HTTPS tests, you'll need to have an unrestrictive
<filename>/etc/hosts.deny</filename> file.</para>
<para>Now, as the <systemitem class="username">root</systemitem>
user:</para>
<screen role="root"><userinput>make install &amp;&amp;
find docs \( -name "Makefile*" -o -name "*.1" -o -name "*.3" \) -exec rm {} \; &amp;&amp;
install -v -d -m755 /usr/share/doc/curl-&curl-version; &amp;&amp;
cp -v -R docs/* /usr/share/doc/curl-&curl-version;</userinput></screen>
</sect2>
<sect2 role="commands">
<title>Command Explanations</title>
<para><option>--disable-static</option>: This option stops it compiling and
installing a static version of
<filename class="libraryfile">libcurl</filename>.</para>
<para><option>--with-ca-path=/etc/ssl/certs</option>: This option sets the
directory to use as the path to the SSL certificates. If you've not
installed <xref linkend="openssl"/> or <xref linkend="gnutls"/> and
the <xref linkend="cacerts"/> you can remove this option.</para>
<para><option>--with-gssapi</option>:
This parameter adds <application>Kerberos 5</application> support to
<filename class="libraryfile">libcurl</filename>.</para>
<para><option>--with-libssh2</option>:
This parameter adds SSH2 protocol support to
<filename class="libraryfile">libcurl</filename>.</para>
<para><option>--without-ssl --with-gnutls</option>:
To build with <application>GnuTLS</application>
support instead of <application>OpenSSL</application> for SSL/TLS.</para>
<para><command>find docs \( -name "Makefile*" -o -name "*.1" -o -name "*.3"
\) -exec rm {} \;</command>: This command removes
<filename>Makefiles</filename> and man files from the documentation
directory that would otherwise be installed by the commands that
follow.</para>
</sect2>
<sect2 role="content">
<title>Contents</title>
<segmentedlist>
<segtitle>Installed Programs</segtitle>
<segtitle>Installed Library</segtitle>
<segtitle>Installed Directories</segtitle>
<seglistitem>
<seg>curl and curl-config</seg>
<seg>libcurl.so</seg>
<seg>/usr/include/curl and /usr/share/doc/curl-&curl-version;</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="curl-prog">
<term><command>curl</command></term>
<listitem>
<para>is a command line tool for transferring files with URL syntax.
</para>
<indexterm zone="curl curl-prog">
<primary sortas="b-curl">curl</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="curl-config">
<term><command>curl-config</command></term>
<listitem>
<para>prints information about the last compile, like libraries
linked to and prefix setting.</para>
<indexterm zone="curl curl-config">
<primary sortas="b-curl-config">curl-config</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libcurl">
<term><filename class="libraryfile">libcurl.so</filename></term>
<listitem>
<para>provides the API functions required by
<command>curl</command> and other programs.</para>
<indexterm zone="curl libcurl">
<primary sortas="c-libcurl">libcurl.so</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>