aboutsummaryrefslogtreecommitdiffstats
path: root/chapter08/openssl.xml
diff options
context:
space:
mode:
authorThomas Trepl <thomas@linuxfromscratch.org>2020-06-29 07:55:01 +0000
committerXℹ Ruoyao <xry111@mengyan1223.wang>2021-03-31 18:41:39 +0800
commit6dfcfecca35da230f0439281a20d408ad280a398 (patch)
treed5f622631e4d1892b822d7ccf14ae00d1793dee4 /chapter08/openssl.xml
parent811b5a3978f71d1bf8ce5b705148951aa1ff7386 (diff)
Update to new lfs structure
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11986 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Diffstat (limited to 'chapter08/openssl.xml')
-rw-r--r--chapter08/openssl.xml243
1 files changed, 243 insertions, 0 deletions
diff --git a/chapter08/openssl.xml b/chapter08/openssl.xml
new file mode 100644
index 000000000..50cd2a812
--- /dev/null
+++ b/chapter08/openssl.xml
@@ -0,0 +1,243 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+ "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
+
+<sect1 id="ch-system-openssl" role="wrap">
+ <?dbhtml filename="openssl.html"?>
+
+ <sect1info condition="script">
+ <productname>openssl</productname>
+ <productnumber>&openssl-version;</productnumber>
+ <address>&openssl-url;</address>
+ </sect1info>
+
+ <title>OpenSSL-&openssl-version;</title>
+
+ <indexterm zone="ch-system-openssl">
+ <primary sortas="a-OpenSSL">OpenSSL</primary>
+ </indexterm>
+
+ <sect2 role="package">
+ <title/>
+
+ <para>The OpenSSL package contains management tools and libraries relating
+ to cryptography. These are useful for providing cryptographic functions
+ to other packages, such as OpenSSH, email applications, and web browsers
+ (for accessing HTTPS sites). </para>
+
+ <segmentedlist>
+ <segtitle>&buildtime;</segtitle>
+ <segtitle>&diskspace;</segtitle>
+
+ <seglistitem>
+ <seg>&openssl-fin-sbu;</seg>
+ <seg>&openssl-fin-du;</seg>
+ </seglistitem>
+ </segmentedlist>
+
+ </sect2>
+
+ <sect2 role="installation">
+ <title>Installation of OpenSSL</title>
+
+ <para>Prepare OpenSSL for compilation:</para>
+
+<screen><userinput remap="configure">./config --prefix=/usr \
+ --openssldir=/etc/ssl \
+ --libdir=lib \
+ shared \
+ zlib-dynamic</userinput></screen>
+
+ <para>Compile the package:</para>
+
+<screen><userinput remap="make">make</userinput></screen>
+
+ <para>To test the results, issue:</para>
+
+<screen><userinput remap="test">make test</userinput></screen>
+
+ <para>One test 30-test_afalg.t is known to fail on some kernel
+ configurations (it apparently assumes certain unspecified crypto
+ options have been selected).</para>
+
+ <para>Install the package:</para>
+
+<screen><userinput remap="install">sed -i '/INSTALL_LIBS/s/libcrypto.a libssl.a//' Makefile
+make MANSUFFIX=ssl install</userinput></screen>
+
+ <para>If desired, install the documentation:</para>
+
+<screen><userinput remap="install">mv -v /usr/share/doc/openssl /usr/share/doc/openssl-&openssl-version;
+cp -vfr doc/* /usr/share/doc/openssl-&openssl-version;</userinput></screen>
+
+ </sect2>
+
+ <!-- - - - - - - - - - -->
+ <!-- Multilib - 32bit -->
+ <!-- - - - - - - - - - -->
+
+ <sect2 arch="ml_32,ml_all" role="installation">
+ <title>Installation of OpenSSL - 32bit</title>
+
+ <para>Clean previous build:</para>
+
+<screen><userinput remap="pre">make distclean</userinput></screen>
+
+ <para>Prepare OpenSSL for compilation:</para>
+
+<screen><userinput remap="configure">MACHINE="i686" \
+CC="gcc -m32 -march=i686" \
+CXX="g++ -m32 -march=i686" \
+ ./config \
+ --prefix=/usr \
+ --libdir=&usr-lib-m32; \
+ --openssldir=/etc/ssl \
+ --libdir=lib32 \
+ shared \
+ zlib-dynamic</userinput></screen>
+
+ <para>Compile the package:</para>
+
+<screen><userinput remap="make">make</userinput></screen>
+
+ <para>Install the package:</para>
+
+<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
+cp -Rv DESTDIR&usr-lib-m32;/* &usr-lib-m32;
+rm -rf DESTDIR</userinput></screen>
+
+ </sect2><!-- m32 -->
+
+ <!-- - - - - - - - - - -->
+ <!-- Multilib - x32bit -->
+ <!-- - - - - - - - - - -->
+
+ <sect2 arch="ml_x32,ml_all" role="installation">
+ <title>Installation of OpenSSL - x32bit</title>
+
+ <para>Clean previous build:</para>
+
+<screen><userinput remap="pre">make distclean</userinput></screen>
+
+ <para>Prepare OpenSSL for compilation:</para>
+
+<screen><userinput remap="configure">MACHINE="x86_64" \
+CC="gcc -mx32" \
+CXX="g++ -mx32" \
+ ./config \
+ --prefix=/usr \
+ --libdir=&usr-lib-mx32; \
+ --openssldir=/etc/ssl \
+ --libdir=libx32 \
+ shared \
+ zlib-dynamic</userinput></screen>
+
+ <para>Compile the package:</para>
+
+<screen><userinput remap="make">make</userinput></screen>
+
+ <para>Install the package:</para>
+
+<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
+cp -Rv DESTDIR&usr-lib-mx32;/* &usr-lib-mx32;
+rm -rf DESTDIR</userinput></screen>
+
+ </sect2><!-- mx32 -->
+
+ <sect2 id="contents-openssl" role="content">
+ <title>Contents of OpenSSL</title>
+
+ <segmentedlist>
+ <segtitle>Installed programs</segtitle>
+ <segtitle>Installed libraries</segtitle>
+ <segtitle>Installed directories</segtitle>
+
+ <seglistitem>
+ <seg>
+ c_rehash and openssl
+ </seg>
+ <seg>
+ libcrypto.{so,a} and libssl.{so,a}
+ </seg>
+ <seg>
+ /etc/ssl,
+ /usr/include/openssl,
+ /usr/lib/engines and
+ /usr/share/doc/openssl-&openssl-version;
+ </seg>
+ </seglistitem>
+ </segmentedlist>
+
+ <variablelist>
+ <bridgehead renderas="sect3">Short Descriptions</bridgehead>
+ <?dbfo list-presentation="list"?>
+ <?dbhtml list-presentation="table"?>
+
+ <varlistentry id="c_rehash">
+ <term><command>c_rehash</command></term>
+ <listitem>
+ <para>
+ is a <application>Perl</application> script that scans all files in
+ a directory and adds symbolic links to their hash values.
+ </para>
+ <indexterm zone="ch-system-openssl c_rehash">
+ <primary sortas="b-c_rehash">c_rehash</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="openssl-prog">
+ <term><command>openssl</command></term>
+ <listitem>
+ <para>
+ is a command-line tool for using the various cryptography functions
+ of <application>OpenSSL</application>'s crypto library from the
+ shell. It can be used for various functions which are documented in
+ <command>man 1 openssl</command>.
+ </para>
+ <indexterm zone="ch-system-openssl openssl-prog">
+ <primary sortas="b-openssl">openssl</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="libcrypto">
+ <term><filename class="libraryfile">libcrypto.so</filename></term>
+ <listitem>
+ <para>
+ implements a wide range of cryptographic algorithms used in various
+ Internet standards. The services provided by this library are used
+ by the <application>OpenSSL</application> implementations of SSL,
+ TLS and S/MIME, and they have also been used to implement
+ <application>OpenSSH</application>,
+ <application>OpenPGP</application>, and other cryptographic
+ standards.
+ </para>
+ <indexterm zone="ch-system-openssl libcrypto">
+ <primary sortas="c-libcrypto">libcrypto.so</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="libssl">
+ <term><filename class="libraryfile">libssl.so</filename></term>
+ <listitem>
+ <para>
+ implements the Transport Layer Security (TLS v1) protocol.
+ It provides a rich API, documentation
+ on which can be found by running <command>man 3 ssl</command>.
+ </para>
+ <indexterm zone="ch-system-openssl libssl">
+ <primary sortas="c-libssl">libssl.so</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+
+ </sect2>
+
+</sect1>