source: networking/netlibs/curl.xml@ 2de0145

10.0 10.1 11.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind ken/refactor-virt lazarus perl-modules qt5new trunk upgradedb xry111/git-date xry111/git-date-for-trunk xry111/git-date-test
Last change on this file since 2de0145 was 2de0145, checked in by Bruce Dubbs <bdubbs@…>, 4 years ago

Update to curl-7.55.1

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@19037 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 9.9 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY curl-download-http "https://curl.haxx.se/download/curl-&curl-version;.tar.xz">
8 <!ENTITY curl-download-ftp " ">
9 <!ENTITY curl-md5sum "ac4a59c38c47adc160ea71eace20257b">
10 <!ENTITY curl-size "2.1 MB">
11 <!ENTITY curl-buildsize "36 MB (additional 11 MB for tests)">
12 <!ENTITY curl-time "0.3 SBU (additional 4.3 SBU for tests)">
13]>
14
15<sect1 id="curl" xreflabel="cURL-&curl-version;">
16 <?dbhtml filename="curl.html"?>
17
18 <sect1info>
19 <othername>$LastChangedBy$</othername>
20 <date>$Date$</date>
21 </sect1info>
22
23 <title>cURL-&curl-version;</title>
24
25 <indexterm zone="curl">
26 <primary sortas="a-cURL">cURL</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to cURL</title>
31
32 <para>
33 The <application>cURL</application> package contains an utility
34 and a library used for transferring files with URL syntax to any of
35 the following protocols: FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP,
36 TELNET, DICT, LDAP, LDAPS and FILE. Its ability to both download
37 and upload files can be incorporated into other programs to support
38 functions like streaming media.
39 </para>
40
41 &lfs81_checked;
42
43 <bridgehead renderas="sect3">Package Information</bridgehead>
44 <itemizedlist spacing="compact">
45 <listitem>
46 <para>
47 Download (HTTP): <ulink url="&curl-download-http;"/>
48 </para>
49 </listitem>
50 <listitem>
51 <para>
52 Download (FTP): <ulink url="&curl-download-ftp;"/>
53 </para>
54 </listitem>
55 <listitem>
56 <para>
57 Download MD5 sum: &curl-md5sum;
58 </para>
59 </listitem>
60 <listitem>
61 <para>
62 Download size: &curl-size;
63 </para>
64 </listitem>
65 <listitem>
66 <para>
67 Estimated disk space required: &curl-buildsize;
68 </para>
69 </listitem>
70 <listitem>
71 <para>
72 Estimated build time: &curl-time;
73 </para>
74 </listitem>
75 </itemizedlist>
76
77<!-- Tests seem to pass without any patch
78 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
79 <itemizedlist spacing="compact">
80 <listitem>
81 <para>
82 Required patch:
83 <ulink url="&patch-root;/curl-&curl-version;-valgrind_filter-1.patch"/>
84 </para>
85 </listitem>
86 </itemizedlist>
87-->
88 <bridgehead renderas="sect3">cURL Dependencies</bridgehead>
89
90 <bridgehead renderas="sect4">Recommended</bridgehead>
91 <para role="recommended">
92 <xref linkend="cacerts"/> (runtime) and
93 <xref linkend="openssl"/>
94 </para>
95
96 <bridgehead renderas="sect4">Optional</bridgehead>
97 <para role="optional">
98 <xref linkend="c-ares"/>,
99 <xref linkend="gnutls"/>,
100 <xref linkend="mitkrb"/>,
101 <xref linkend="nghttp2"/>,
102 <xref linkend="openldap"/>,
103 <xref linkend="samba"/>,
104 <ulink url="https://www.gnu.org/software/libidn/#libidn2/">libidn2</ulink>,
105 <ulink url="https://launchpad.net/libmetalink/">libmetalink</ulink>,
106 <ulink url="https://github.com/rockdaboot/libpsl">libpsl</ulink>,
107 <ulink url="http://rtmpdump.mplayerhq.hu/">librtmp</ulink>,
108 <ulink url="http://www.libssh2.org">libssh2</ulink>,
109 <ulink url="https://tls.mbed.org/">mbed TLS (formerly known as
110 PolarSSL)</ulink>, and
111 <ulink url="http://spnego.sourceforge.net/">
112 SPNEGO</ulink>
113 </para>
114
115 <bridgehead renderas="sect4">Optional for Running the Test Suite</bridgehead>
116 <para role="optional">
117 <xref linkend="stunnel"/> (for the HTTPS and FTPS tests) and
118 <xref linkend="valgrind"/>
119 </para>
120
121 <para condition="html" role="usernotes">User Notes:
122 <ulink url="&blfs-wiki;/curl"/>
123 </para>
124 </sect2>
125
126 <sect2 role="installation">
127 <title>Installation of cURL</title>
128
129 <para>
130 Install <application>cURL</application> by running the following
131 commands:
132 </para>
133
134<screen><userinput>./configure --prefix=/usr \
135 --disable-static \
136 --enable-threaded-resolver \
137 --with-ca-path=/etc/ssl/certs &amp;&amp;
138make</userinput></screen>
139
140<!--
141 For version 7.54.1 I got:
142 TESTDONE: 869 tests out of 869 reported OK: 100%
143 TESTDONE: 1092 tests were considered during 1080 seconds
144
145 <para>
146 Running the test suite is optional. About 2% of the tests fail. Increase
147 in test time by each failed test is about 10%. Tests SBU above was
148 obtained disabling failing tests, with:
149 </para>
150-->
151 <note>
152 <para>
153 To run the tests for this package, valgrind requires a version of the
154 /lib/ld-2.23.so (or later) library with debugging symbols present.
155 Normally in LFS these debugging symbols are stripped at the end of
156 Chapter 6. To get this library, glibc must be rebuilt with the current
157 glibc version using the same compiler that was used to build LFS. The
158 ld-2.23.so can then be renamed to ld-2.23.so.dbg and copied to /lib. Then
159 a symlink needs to be changed:
160 </para>
161
162 <screen role="nodump"><userinput>ln -sfv ld-2.23.so.dbg /lib/ld-linux-x86-64.so.2</userinput></screen>
163
164 <para>
165 Adjust the above instruction as needed for a 32-bit system
166 or for a different version of glibc.
167 </para>
168 </note>
169
170 <para>
171 To run the test suite, issue: <command>make test</command>.
172 </para>
173
174 <para>
175 Now, as the <systemitem class="username">root</systemitem>
176 user:
177 </para>
178
179<screen role="root"><userinput>make install &amp;&amp;
180
181rm -rf docs/examples/.deps &amp;&amp;
182
183find docs \( -name Makefile\* \
184 -o -name \*.1 \
185 -o -name \*.3 \) \
186 -exec rm {} \; &amp;&amp;
187install -v -d -m755 /usr/share/doc/curl-&curl-version; &amp;&amp;
188cp -v -R docs/* /usr/share/doc/curl-&curl-version;</userinput></screen>
189
190 <para>
191 Simple tests to the new installed <command>curl</command>:
192 <command>curl --trace-ascii debugdump.txt http://www.example.com/</command>
193 and
194 <command>curl --trace-ascii d.txt --trace-time http://example.com/</command>.
195 Inspect the locally created trace files <filename>debugdump.txt</filename>
196 and <filename>d.txt</filename>, which contain version downloaded
197 files information, etc. One file has the time for each action logged.
198 </para>
199 </sect2>
200
201 <sect2 role="commands">
202 <title>Command Explanations</title>
203
204 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
205 href="../../xincludes/static-libraries.xml"/>
206
207 <para>
208 <parameter>--enable-threaded-resolver</parameter>: This switch enables
209 <application>cURL</application>'s builtin threaded DNS resolver.
210 </para>
211
212 <para>
213 <parameter>--with-ca-path=/etc/ssl/certs</parameter>: This
214 switch sets the location of the BLFS <xref linkend="cacerts"/>.
215 </para>
216
217 <para>
218 <option>--with-gssapi</option>: This parameter adds
219 <application>Kerberos 5</application> support to
220 <filename class="libraryfile">libcurl</filename>.
221 </para>
222
223 <para>
224 <option>--without-ssl --with-gnutls</option>: Use to
225 build with <application>GnuTLS</application> support
226 instead of <application>OpenSSL</application> for SSL/TLS.
227 </para>
228
229 <para>
230 <option>--with-ca-bundle=/etc/ssl/ca-bundle.crt</option>: Use
231 this switch instead of <parameter>--with-ca-path</parameter> if
232 building with <application>GnuTLS</application> support
233 instead of <application>OpenSSL</application> for SSL/TLS.
234 </para>
235
236 <para>
237 <command>find docs ... -exec rm {} \;</command>: This command removes
238 <filename>Makefiles</filename> and man files from the documentation
239 directory that would otherwise be installed by the commands that follow.
240 </para>
241
242 </sect2>
243
244 <sect2 role="content">
245 <title>Contents</title>
246
247 <segmentedlist>
248 <segtitle>Installed Programs</segtitle>
249 <segtitle>Installed Library</segtitle>
250 <segtitle>Installed Directories</segtitle>
251
252 <seglistitem>
253 <seg>
254 curl, and curl-config
255 </seg>
256 <seg>
257 libcurl.so
258 </seg>
259 <seg>
260 /usr/include/curl and
261 /usr/share/doc/curl-&curl-version;
262 </seg>
263 </seglistitem>
264 </segmentedlist>
265
266 <variablelist>
267 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
268 <?dbfo list-presentation="list"?>
269 <?dbhtml list-presentation="table"?>
270
271 <varlistentry id="curl-prog">
272 <term><command>curl</command></term>
273 <listitem>
274 <para>
275 is a command line tool for transferring files with URL syntax.
276 </para>
277 <indexterm zone="curl curl-prog">
278 <primary sortas="b-curl">curl</primary>
279 </indexterm>
280 </listitem>
281 </varlistentry>
282
283 <varlistentry id="curl-config">
284 <term><command>curl-config</command></term>
285 <listitem>
286 <para>
287 prints information about the last compile, like libraries
288 linked to and prefix setting.
289 </para>
290 <indexterm zone="curl curl-config">
291 <primary sortas="b-curl-config">curl-config</primary>
292 </indexterm>
293 </listitem>
294 </varlistentry>
295
296 <varlistentry id="libcurl">
297 <term><filename class="libraryfile">libcurl.so</filename></term>
298 <listitem>
299 <para>
300 provides the API functions required by
301 <command>curl</command> and other programs.
302 </para>
303 <indexterm zone="curl libcurl">
304 <primary sortas="c-libcurl">libcurl.so</primary>
305 </indexterm>
306 </listitem>
307 </varlistentry>
308
309 </variablelist>
310
311 </sect2>
312
313</sect1>
Note: See TracBrowser for help on using the repository browser.