diff options
author | Thomas Trepl <thomas@linuxfromscratch.org> | 2020-06-29 07:55:01 +0000 |
---|---|---|
committer | Xℹ Ruoyao <xry111@mengyan1223.wang> | 2021-03-31 18:41:39 +0800 |
commit | 6dfcfecca35da230f0439281a20d408ad280a398 (patch) | |
tree | d5f622631e4d1892b822d7ccf14ae00d1793dee4 /chapter08/openssl.xml | |
parent | 811b5a3978f71d1bf8ce5b705148951aa1ff7386 (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.xml | 243 |
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> |