source: chapter08/openssl.xml@ cfff84b

xry111/loongarch xry111/loongarch-12.1 xry111/loongarch-12.2
Last change on this file since cfff84b was 651a9ea, checked in by Xi Ruoyao <xry111@…>, 8 months ago

loongarch: openssl: Revert manual target selection

This reverts commits c8a4bac294ceea3853a280e1814d8f71e090da72 and
03372aee06e32254e25362c16c4755af30309fac.

No longer needed with OpenSSL 3.2 or later.

  • Property mode set to 100644
File size: 7.4 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
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-fin-sbu;</seg>
37 <seg>&openssl-fin-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 with some advanced architectures with avx512
47 capability:</para>
48
49 <screen><userinput remap="pre">sed -e '/bn_reduce.*m1/i\ factor_size /= sizeof(BN_ULONG) * 8;' \
50 -i crypto/bn/rsaz_exp_x2.c</userinput></screen>
51-->
52
53 <para>First apply a patch to fix various runtime issues on
54 LoongArch:</para>
55
56<screen><userinput remap="pre">patch -Np1 -i ../&openssl-loongarch-patch;</userinput></screen>
57
58 <para>Prepare OpenSSL for compilation:</para>
59
60<screen><userinput remap="configure">./config --prefix=/usr \
61 --openssldir=/etc/ssl \
62 --libdir=lib \
63 shared \
64 zlib-dynamic</userinput></screen>
65
66 <para>Compile the package:</para>
67
68<screen><userinput remap="make">make</userinput></screen>
69
70 <para>To test the results, issue:</para>
71
72<screen><userinput remap="test">HARNESS_JOBS=<replaceable>$(nproc)</replaceable> make test</userinput></screen>
73
74 <para>One test, 30-test_afalg.t, is known to fail if the host kernel
75 does not have <option>CONFIG_CRYPTO_USER_API_SKCIPHER</option> enabled,
76 or does not have any options providing an AES with CBC implementation
77 (for example, the combination of <option>CONFIG_CRYPTO_AES</option>
78 and <option>CONFIG_CRYPTO_CBC</option>, or
79 <option>CONFIG_CRYPTO_AES_NI_INTEL</option> if the CPU supports AES-NI)
80 enabled. If it fails, it can safely be ignored.</para>
81
82 <para>Install the package:</para>
83
84<screen><userinput remap="install">sed -i '/INSTALL_LIBS/s/libcrypto.a libssl.a//' Makefile
85make MANSUFFIX=ssl install</userinput></screen>
86
87 <para>Add the version to the documentation directory name, to be
88 consistent with other packages:</para>
89
90<screen><userinput remap="install">mv -v /usr/share/doc/openssl /usr/share/doc/openssl-&openssl-version;</userinput></screen>
91
92 <para>If desired, install some additional documentation:</para>
93
94<screen><userinput remap="install">cp -vfr doc/* /usr/share/doc/openssl-&openssl-version;</userinput></screen>
95
96 <note>
97 <para>
98 You should update OpenSSL when a new version which fixes vulnerabilities
99 is announced. Since OpenSSL 3.0.0, the OpenSSL versioning scheme
100 follows the MAJOR.MINOR.PATCH format. API/ABI compatibility
101 is guaranteed for the same MAJOR version number. Because LFS
102 installs only the shared libraries, there is no need to recompile
103 packages which link to
104 <filename class="libraryfile">libcrypto.so</filename> or
105 <filename class="libraryfile">libssl.so</filename>
106 <emphasis>when upgrading to a version with the same MAJOR version
107 number</emphasis>.
108 </para>
109
110 <para>
111 However, any running programs linked to those libraries need to be stopped
112 and restarted. Read the related entries in
113 <xref linkend='pkgmgmt-upgrade-issues'/> for details.
114 </para>
115
116 </note>
117
118 </sect2>
119
120 <sect2 id="contents-openssl" role="content">
121 <title>Contents of OpenSSL</title>
122
123 <segmentedlist>
124 <segtitle>Installed programs</segtitle>
125 <segtitle>Installed libraries</segtitle>
126 <segtitle>Installed directories</segtitle>
127
128 <seglistitem>
129 <seg>
130 c_rehash and openssl
131 </seg>
132 <seg>
133 libcrypto.so and libssl.so
134 </seg>
135 <seg>
136 /etc/ssl,
137 /usr/include/openssl,
138 /usr/lib/engines and
139 /usr/share/doc/openssl-&openssl-version;
140 </seg>
141 </seglistitem>
142 </segmentedlist>
143
144 <variablelist>
145 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
146 <?dbfo list-presentation="list"?>
147 <?dbhtml list-presentation="table"?>
148
149 <varlistentry id="c_rehash">
150 <term><command>c_rehash</command></term>
151 <listitem>
152 <para>
153 is a <application>Perl</application> script that
154 scans all files in a directory and adds symbolic links to their
155 hash values. Use of <command>c_rehash</command> is considered
156 obsolete and should be replaced by
157 <command>openssl rehash</command> command
158 </para>
159 <indexterm zone="ch-system-openssl c_rehash">
160 <primary sortas="b-c_rehash">c_rehash</primary>
161 </indexterm>
162 </listitem>
163 </varlistentry>
164
165 <varlistentry id="openssl-prog">
166 <term><command>openssl</command></term>
167 <listitem>
168 <para>
169 is a command-line tool for using the various cryptography functions
170 of <application>OpenSSL</application>'s crypto library from the
171 shell. It can be used for various functions which are documented in
172 <filename>openssl(1)</filename>
173 </para>
174 <indexterm zone="ch-system-openssl openssl-prog">
175 <primary sortas="b-openssl">openssl</primary>
176 </indexterm>
177 </listitem>
178 </varlistentry>
179
180 <varlistentry id="libcrypto">
181 <term><filename class="libraryfile">libcrypto.so</filename></term>
182 <listitem>
183 <para>
184 implements a wide range of cryptographic algorithms used in various
185 Internet standards. The services provided by this library are used
186 by the <application>OpenSSL</application> implementations of SSL,
187 TLS and S/MIME, and they have also been used to implement
188 <application>OpenSSH</application>,
189 <application>OpenPGP</application>, and other cryptographic
190 standards
191 </para>
192 <indexterm zone="ch-system-openssl libcrypto">
193 <primary sortas="c-libcrypto">libcrypto.so</primary>
194 </indexterm>
195 </listitem>
196 </varlistentry>
197
198 <varlistentry id="libssl">
199 <term><filename class="libraryfile">libssl.so</filename></term>
200 <listitem>
201 <para>
202 implements the Transport Layer Security (TLS v1) protocol.
203 It provides a rich API, documentation
204 on which can be found in <filename>ssl(7)</filename>
205 </para>
206 <indexterm zone="ch-system-openssl libssl">
207 <primary sortas="c-libssl">libssl.so</primary>
208 </indexterm>
209 </listitem>
210 </varlistentry>
211
212 </variablelist>
213
214 </sect2>
215
216</sect1>
Note: See TracBrowser for help on using the repository browser.