source: chapter06/openssl.xml@ 5e009ae

multilib-10.1
Last change on this file since 5e009ae was 5e009ae, checked in by Thomas Trepl <thomas@…>, 5 years ago

MultiLib: Merge changes from trunk

git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11674 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

  • Property mode set to 100644
File size: 7.5 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
8<sect1 id="ch-system-openssl" role="wrap">
9 <?dbhtml filename="openssl.html"?>
10
11 <sect1info condition="script">
12 <productname>openssl</productname>
13 <productnumber>&openssl-version;</productnumber>
14 <address>&openssl-url;</address>
15 </sect1info>
16
17 <title>OpenSSL-&openssl-version;</title>
18
19 <indexterm zone="ch-system-openssl">
20 <primary sortas="a-OpenSSL">OpenSSL</primary>
21 </indexterm>
22
23 <sect2 role="package">
24 <title/>
25
26 <para>The OpenSSL package contains management tools and libraries relating
27 to cryptography. These are useful for providing cryptographic functions
28 to other packages, such as OpenSSH, email applications and web browsers
29 (for accessing HTTPS sites). </para>
30
31 <segmentedlist>
32 <segtitle>&buildtime;</segtitle>
33 <segtitle>&diskspace;</segtitle>
34
35 <seglistitem>
36 <seg>&openssl-ch6-sbu;</seg>
37 <seg>&openssl-ch6-du;</seg>
38 </seglistitem>
39 </segmentedlist>
40
41 </sect2>
42
43 <sect2 role="installation">
44 <title>Installation of OpenSSL</title>
45<!--
46 <para>First, fix a problem identified upstream:</para>
47
48<screen><userinput remap="pre">sed -i '/\} data/s/ =.*$/;\n memset(\&amp;data, 0, sizeof(data));/' \
49 crypto/rand/rand_lib.c</userinput></screen>
50-->
51 <para>Prepare OpenSSL for compilation:</para>
52
53<screen><userinput remap="configure">./config --prefix=/usr \
54 --openssldir=/etc/ssl \
55 --libdir=lib \
56 shared \
57 zlib-dynamic</userinput></screen>
58
59 <para>Compile the package:</para>
60
61<screen><userinput remap="make">make</userinput></screen>
62
63 <para>To test the results, issue:</para>
64
65<screen><userinput remap="test">make test</userinput></screen>
66
67 <para>One subtest in the test 20-test_enc.t is known to fail.</para>
68
69 <para>Install the package:</para>
70
71<screen><userinput remap="install">sed -i '/INSTALL_LIBS/s/libcrypto.a libssl.a//' Makefile
72make MANSUFFIX=ssl install</userinput></screen>
73
74 <para>If desired, install the documentation:</para>
75
76<screen><userinput remap="install">mv -v /usr/share/doc/openssl /usr/share/doc/openssl-&openssl-version;
77cp -vfr doc/* /usr/share/doc/openssl-&openssl-version;</userinput></screen>
78
79 </sect2>
80
81 <!-- ~~~~~~~~~~~~~~~~~~~~ ABI 32 ~~~~~~~~~~~~~~~~~~~~ -->
82
83 <sect2 arch="ml_32,ml_all" role="installation">
84 <title>Installation of OpenSSL - 32-bit</title>
85
86 <para>Clean previous build:</para>
87
88<screen><userinput remap="pre">make distclean</userinput></screen>
89
90 <para>Prepare OpenSSL for compilation:</para>
91
92<screen><userinput remap="configure">MACHINE="i686" \
93CC="gcc -m32 -march=i686" \
94CXX="g++ -m32 -march=i686" \
95 ./config \
96 --prefix=/usr \
97 --libdir=/usr/lib32 \
98 --openssldir=/etc/ssl \
99 --libdir=lib32 \
100 shared \
101 zlib-dynamic</userinput></screen>
102
103 <para>Compile the package:</para>
104
105<screen><userinput remap="make">make</userinput></screen>
106 <para>Install the package:</para>
107
108<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
109cp -Rv DESTDIR/usr/lib32/* /usr/lib32
110rm -rf DESTDIR</userinput></screen>
111
112 </sect2>
113
114 <!-- ~~~~~~~~~~~~~~~~~~~~ ABI x32 ~~~~~~~~~~~~~~~~~~~~ -->
115
116 <sect2 arch="ml_x32,ml_all" role="installation">
117 <title>Installation of OpenSSL - x32-bit</title>
118
119 <para>Clean previous build:</para>
120
121<screen><userinput remap="pre">make distclean</userinput></screen>
122
123 <para>Prepare OpenSSL for compilation:</para>
124
125<screen><userinput remap="configure">MACHINE="x86_64" \
126CC="gcc -mx32" \
127CXX="g++ -mx32" \
128 ./config \
129 --prefix=/usr \
130 --libdir=/usr/libx32 \
131 --openssldir=/etc/ssl \
132 --libdir=libx32 \
133 shared \
134 zlib-dynamic</userinput></screen>
135
136 <para>Compile the package:</para>
137
138<screen><userinput remap="make">make</userinput></screen>
139 <para>Install the package:</para>
140
141<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
142cp -Rv DESTDIR/usr/libx32/* /usr/libx32
143rm -rf DESTDIR</userinput></screen>
144
145 </sect2>
146
147 <sect2 id="contents-openssl" role="content">
148 <title>Contents of OpenSSL</title>
149
150 <segmentedlist>
151 <segtitle>Installed programs</segtitle>
152 <segtitle>Installed libraries</segtitle>
153 <segtitle>Installed directories</segtitle>
154
155 <seglistitem>
156 <seg>
157 c_rehash and openssl
158 </seg>
159 <seg>
160 libcrypto.{so,a} and libssl.{so,a}
161 </seg>
162 <seg>
163 /etc/ssl,
164 /usr/include/openssl,
165 /usr/lib/engines and
166 /usr/share/doc/openssl-&openssl-version;
167 </seg>
168 </seglistitem>
169 </segmentedlist>
170
171 <variablelist>
172 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
173 <?dbfo list-presentation="list"?>
174 <?dbhtml list-presentation="table"?>
175
176 <varlistentry id="c_rehash">
177 <term><command>c_rehash</command></term>
178 <listitem>
179 <para>
180 is a <application>Perl</application> script that scans all files in
181 a directory and adds symbolic links to their hash values.
182 </para>
183 <indexterm zone="ch-system-openssl c_rehash">
184 <primary sortas="b-c_rehash">c_rehash</primary>
185 </indexterm>
186 </listitem>
187 </varlistentry>
188
189 <varlistentry id="openssl-prog">
190 <term><command>openssl</command></term>
191 <listitem>
192 <para>
193 is a command-line tool for using the various cryptography functions
194 of <application>OpenSSL</application>'s crypto library from the
195 shell. It can be used for various functions which are documented in
196 <command>man 1 openssl</command>.
197 </para>
198 <indexterm zone="ch-system-openssl openssl-prog">
199 <primary sortas="b-openssl">openssl</primary>
200 </indexterm>
201 </listitem>
202 </varlistentry>
203
204 <varlistentry id="libcrypto">
205 <term><filename class="libraryfile">libcrypto.so</filename></term>
206 <listitem>
207 <para>
208 implements a wide range of cryptographic algorithms used in various
209 Internet standards. The services provided by this library are used
210 by the <application>OpenSSL</application> implementations of SSL,
211 TLS and S/MIME, and they have also been used to implement
212 <application>OpenSSH</application>,
213 <application>OpenPGP</application>, and other cryptographic
214 standards.
215 </para>
216 <indexterm zone="ch-system-openssl libcrypto">
217 <primary sortas="c-libcrypto">libcrypto.so</primary>
218 </indexterm>
219 </listitem>
220 </varlistentry>
221
222 <varlistentry id="libssl">
223 <term><filename class="libraryfile">libssl.so</filename></term>
224 <listitem>
225 <para>
226 implements the Transport Layer Security (TLS v1) protocol.
227 It provides a rich API, documentation
228 on which can be found by running <command>man 3 ssl</command>.
229 </para>
230 <indexterm zone="ch-system-openssl libssl">
231 <primary sortas="c-libssl">libssl.so</primary>
232 </indexterm>
233 </listitem>
234 </varlistentry>
235
236 </variablelist>
237
238 </sect2>
239
240</sect1>
Note: See TracBrowser for help on using the repository browser.