source: chapter06/openssl.xml@ f573e24

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

MultiLib: Merge changes from trunk

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

  • Property mode set to 100644
File size: 7.6 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 test 30-test_afalg.t is known to fail on some kernel
68 configurations (it apparently assumes certain unspecified crypto
69 options have been selected).</para>
70
71 <para>Install the package:</para>
72
73<screen><userinput remap="install">sed -i '/INSTALL_LIBS/s/libcrypto.a libssl.a//' Makefile
74make MANSUFFIX=ssl install</userinput></screen>
75
76 <para>If desired, install the documentation:</para>
77
78<screen><userinput remap="install">mv -v /usr/share/doc/openssl /usr/share/doc/openssl-&openssl-version;
79cp -vfr doc/* /usr/share/doc/openssl-&openssl-version;</userinput></screen>
80
81 </sect2>
82
83 <!-- ~~~~~~~~~~~~~~~~~~~~ ABI 32 ~~~~~~~~~~~~~~~~~~~~ -->
84
85 <sect2 arch="ml_32,ml_all" role="installation">
86 <title>Installation of OpenSSL - 32-bit</title>
87
88 <para>Clean previous build:</para>
89
90<screen><userinput remap="pre">make distclean</userinput></screen>
91
92 <para>Prepare OpenSSL for compilation:</para>
93
94<screen><userinput remap="configure">MACHINE="i686" \
95CC="gcc -m32 -march=i686" \
96CXX="g++ -m32 -march=i686" \
97 ./config \
98 --prefix=/usr \
99 --libdir=/usr/lib32 \
100 --openssldir=/etc/ssl \
101 --libdir=lib32 \
102 shared \
103 zlib-dynamic</userinput></screen>
104
105 <para>Compile the package:</para>
106
107<screen><userinput remap="make">make</userinput></screen>
108 <para>Install the package:</para>
109
110<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
111cp -Rv DESTDIR/usr/lib32/* /usr/lib32
112rm -rf DESTDIR</userinput></screen>
113
114 </sect2>
115
116 <!-- ~~~~~~~~~~~~~~~~~~~~ ABI x32 ~~~~~~~~~~~~~~~~~~~~ -->
117
118 <sect2 arch="ml_x32,ml_all" role="installation">
119 <title>Installation of OpenSSL - x32-bit</title>
120
121 <para>Clean previous build:</para>
122
123<screen><userinput remap="pre">make distclean</userinput></screen>
124
125 <para>Prepare OpenSSL for compilation:</para>
126
127<screen><userinput remap="configure">MACHINE="x86_64" \
128CC="gcc -mx32" \
129CXX="g++ -mx32" \
130 ./config \
131 --prefix=/usr \
132 --libdir=/usr/libx32 \
133 --openssldir=/etc/ssl \
134 --libdir=libx32 \
135 shared \
136 zlib-dynamic</userinput></screen>
137
138 <para>Compile the package:</para>
139
140<screen><userinput remap="make">make</userinput></screen>
141 <para>Install the package:</para>
142
143<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
144cp -Rv DESTDIR/usr/libx32/* /usr/libx32
145rm -rf DESTDIR</userinput></screen>
146
147 </sect2>
148
149 <sect2 id="contents-openssl" role="content">
150 <title>Contents of OpenSSL</title>
151
152 <segmentedlist>
153 <segtitle>Installed programs</segtitle>
154 <segtitle>Installed libraries</segtitle>
155 <segtitle>Installed directories</segtitle>
156
157 <seglistitem>
158 <seg>
159 c_rehash and openssl
160 </seg>
161 <seg>
162 libcrypto.{so,a} and libssl.{so,a}
163 </seg>
164 <seg>
165 /etc/ssl,
166 /usr/include/openssl,
167 /usr/lib/engines and
168 /usr/share/doc/openssl-&openssl-version;
169 </seg>
170 </seglistitem>
171 </segmentedlist>
172
173 <variablelist>
174 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
175 <?dbfo list-presentation="list"?>
176 <?dbhtml list-presentation="table"?>
177
178 <varlistentry id="c_rehash">
179 <term><command>c_rehash</command></term>
180 <listitem>
181 <para>
182 is a <application>Perl</application> script that scans all files in
183 a directory and adds symbolic links to their hash values.
184 </para>
185 <indexterm zone="ch-system-openssl c_rehash">
186 <primary sortas="b-c_rehash">c_rehash</primary>
187 </indexterm>
188 </listitem>
189 </varlistentry>
190
191 <varlistentry id="openssl-prog">
192 <term><command>openssl</command></term>
193 <listitem>
194 <para>
195 is a command-line tool for using the various cryptography functions
196 of <application>OpenSSL</application>'s crypto library from the
197 shell. It can be used for various functions which are documented in
198 <command>man 1 openssl</command>.
199 </para>
200 <indexterm zone="ch-system-openssl openssl-prog">
201 <primary sortas="b-openssl">openssl</primary>
202 </indexterm>
203 </listitem>
204 </varlistentry>
205
206 <varlistentry id="libcrypto">
207 <term><filename class="libraryfile">libcrypto.so</filename></term>
208 <listitem>
209 <para>
210 implements a wide range of cryptographic algorithms used in various
211 Internet standards. The services provided by this library are used
212 by the <application>OpenSSL</application> implementations of SSL,
213 TLS and S/MIME, and they have also been used to implement
214 <application>OpenSSH</application>,
215 <application>OpenPGP</application>, and other cryptographic
216 standards.
217 </para>
218 <indexterm zone="ch-system-openssl libcrypto">
219 <primary sortas="c-libcrypto">libcrypto.so</primary>
220 </indexterm>
221 </listitem>
222 </varlistentry>
223
224 <varlistentry id="libssl">
225 <term><filename class="libraryfile">libssl.so</filename></term>
226 <listitem>
227 <para>
228 implements the Transport Layer Security (TLS v1) protocol.
229 It provides a rich API, documentation
230 on which can be found by running <command>man 3 ssl</command>.
231 </para>
232 <indexterm zone="ch-system-openssl libssl">
233 <primary sortas="c-libssl">libssl.so</primary>
234 </indexterm>
235 </listitem>
236 </varlistentry>
237
238 </variablelist>
239
240 </sect2>
241
242</sect1>
Note: See TracBrowser for help on using the repository browser.