source: chapter06/openssl.xml@ 8b16d14

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

MultiLib: Merge changes from trunk

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