diff options
Diffstat (limited to 'chapter05/libxcrypt.xml')
-rw-r--r-- | chapter05/libxcrypt.xml | 175 |
1 files changed, 175 insertions, 0 deletions
diff --git a/chapter05/libxcrypt.xml b/chapter05/libxcrypt.xml new file mode 100644 index 000000000..8feef9f9b --- /dev/null +++ b/chapter05/libxcrypt.xml @@ -0,0 +1,175 @@ +<?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-tools-libxcrypt" role="wrap"> + <?dbhtml filename="libxcrypt.html"?> + + <sect1info condition="script"> + <productname>libxcrypt</productname> + <productnumber>&libxcrypt-version;</productnumber> + <address>&libxcrypt-url;</address> + </sect1info> + + <title>Libxcrypt-&libxcrypt-version;</title> + + <indexterm zone="ch-tools-libxcrypt"> + <primary sortas="a-Libxcrypt">Libxcrypt</primary> + </indexterm> + + <sect2 role="package"> + <title/> + + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" + href="../chapter08/libxcrypt.xml" + xpointer="xpointer(/sect1/sect2[1]/para[1])"/> + + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> + + <seglistitem> + <seg>&libxcrypt-fin-sbu;</seg> + <seg>&libxcrypt-fin-du;</seg> + </seglistitem> + </segmentedlist> + + </sect2> + + <sect2 role="installation"> + <title>Installation of Libxcrypt</title> + + <para>Prepare Libxcrypt for compilation:</para> + +<screen><userinput remap="configure">./configure --target=$LFS_TGT \ + --prefix=/usr \ + --enable-hashes=strong,glibc \ + --enable-obsolete-api=no \ + --disable-static \ + --disable-failure-tokens</userinput></screen> + + <variablelist> + <title>The meaning of the new configure options:</title> + + <varlistentry> + <term><parameter>--enable-hashes=strong,glibc</parameter></term> + <listitem> + <para>Build strong hash algorithms recommended for security use + cases, and the hash algorithms provided by traditional Glibc + <systemitem class='library'>libcrypt</systemitem> for + compatibility.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><parameter>--enable-obsolete-api=no</parameter></term> + <listitem> + <para>Disable obsolete API functions. They are not needed for + a modern Linux system built from source.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><parameter>--disable-failure-tokens</parameter></term> + <listitem> + <para>Disable failure token feature. It's needed for + compatibility with the traditional hash libraries of some + platforms, but a Linux system based on Glibc does not need + it.</para> + </listitem> + </varlistentry> + </variablelist> + + <para>Compile the package:</para> + +<screen><userinput remap="make">make</userinput></screen> + + <para>To test the results, issue:</para> + +<screen><userinput remap="test">make check</userinput></screen> + + <para>Install the package:</para> + +<screen><userinput remap="install">make DESTDIR=$LFS install</userinput></screen> + + </sect2> + + <!-- - - - - - - - - - --> + <!-- Multilib - 32bit --> + <!-- - - - - - - - - - --> + <sect2 arch="ml_32,ml_all" role="installation"> + <title>Installation of Libxcrypt - 32bit</title> + + <para>Clean previous build:</para> + +<screen><userinput remap="pre">make distclean</userinput></screen> + + <para>Prepare File for compilation:</para> + +<screen><userinput remap="configure">CC="gcc -m32" \ +./configure --target=$LFS_TGT32 \ + --prefix=/usr \ + --host=i686-pc-linux-gnu \ + --libdir=/usr/lib32 \ + --enable-hashes=strong,glibc \ + --enable-obsolete-api=glibc \ + --disable-static \ + --disable-failure-tokens</userinput></screen> + + <para>Compile the package:</para> + +<screen><userinput remap="make">make</userinput></screen> + + <para>Install the package:</para> + +<screen><userinput remap="install">cp -av .libs/libcrypt.so* $LFS/usr/lib32/ && +make DESTDIR=$LFS install-pkgconfigDATA && +ln -svf libxcrypt.pc $LFS/usr/lib32/pkgconfig/libcrypt.pc</userinput></screen> + + </sect2><!-- m32 --> + + <!-- - - - - - - - - - --> + <!-- Multilib - x32bit --> + <!-- - - - - - - - - - --> + <sect2 arch="ml_x32,ml_all" role="installation"> + <title>Installation of Libxcrypt - x32bit</title> + + <para>Clean previous build:</para> + +<screen><userinput remap="pre">make distclean</userinput></screen> + + <para>Prepare File for compilation:</para> + +<screen><userinput remap="configure">CC="gcc -mx32" \ +./configure --target=$LFS_TGT32 \ + --prefix=/usr \ + --host=x86_64-pc-linux-gnux32 \ + --libdir=/usr/libx32 \ + --enable-hashes=strong,glibc \ + --enable-obsolete-api=glibc \ + --disable-static \ + --disable-failure-tokens</userinput></screen> + + <para>Compile the package:</para> + +<screen><userinput remap="make">make</userinput></screen> + + <para>Install the package:</para> + +<screen><userinput remap="install">cp -av .libs/libcrypt.so* $LFS/usr/libx32/ && +make DESTDIR=$LFS install-pkgconfigDATA && +ln -svf libxcrypt.pc $LFS/usr/libx32/pkgconfig/libcrypt.pc</userinput></screen> + + </sect2><!-- mx32 --> + + <sect2 role="content"> + <title/> + + <para>Details on this package are located in + <xref linkend="contents-libxcrypt" role="."/></para> + + </sect2> +</sect1> |