Add libxcrypt

This commit is contained in:
Xi Ruoyao 2023-06-30 03:55:58 +08:00
parent bbfb090d2a
commit c727d7e7f7
No known key found for this signature in database
GPG Key ID: ACAAD20E19E710E3
7 changed files with 191 additions and 0 deletions

View File

@ -40,6 +40,16 @@
appropriate for the entry or if needed the entire day's listitem.
-->
<listitem>
<para>2023-06-29</para>
<itemizedlist>
<listitem>
<para>[xry111] - Add libxcrypt-4.4.35. Fixes
<ulink url='&lfs-ticket-root;5280'>#5280</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>2023-06-17</para>
<itemizedlist>

View File

@ -304,6 +304,10 @@
<title>Added:</title>
<listitem><para></para></listitem> <!-- satisfy build -->
<listitem>
<para>Libxcrypt-&libxcrypt-version;</para>
</listitem>
<listitem>
<para>Pkgconf-&flit-core-version;</para>
</listitem>

View File

@ -468,6 +468,15 @@
</listitem>
</varlistentry>
<varlistentry>
<term>Libxcrypt (&libxcrypt-version;) - <token>&libxcrypt-size;</token>:</term>
<listitem>
<para>Home page: <ulink url="&libxcrypt-home;"/></para>
<para>Download: <ulink url="&libxcrypt-url;"/></para>
<para>MD5 sum: <literal>&libxcrypt-md5;</literal></para>
</listitem>
</varlistentry>
<varlistentry>
<term>Linux (&linux-version;) - <token>&linux-size;</token>:</term>
<listitem>

View File

@ -36,6 +36,7 @@
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="attr.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="acl.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="libcap.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="libxcrypt.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="shadow.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="gcc.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="pkgconf.xml"/>

148
chapter08/libxcrypt.xml Normal file
View File

@ -0,0 +1,148 @@
<?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-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-system-libxcrypt">
<primary sortas="a-Libxcrypt">Libxcrypt</primary>
</indexterm>
<sect2 role="package">
<title/>
<para>The Libxcrypt package contains a modern library for one-way
hashing of passwords.</para>
<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 --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 install</userinput></screen>
<note>
<para>The instructions above disabled obsolete API functions since
no package installed by compiling from sources would link against
them at runtime. However, the only known binary-only applications
that link against these functions require ABI version 1. If you must
have such libraries because of some binary-only application or to be
to be compliant with LSB, build the package again with the following
commands:</para>
<screen><userinput remap="nodump">make distclean
./configure --prefix=/usr \
--enable-hashes=strong,glibc \
--enable-obsolete-api=glibc \
--disable-static \
--disable-failure-tokens
make
cp -av .libs/libcrypt.so.1* /usr/lib</userinput></screen>
</note>
</sect2>
<sect2 id="contents-libxcrypt" role="content">
<title>Contents of Libxcrypt</title>
<segmentedlist>
<segtitle>Installed libraries</segtitle>
<seglistitem>
<seg>libcrypt.so</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="libcrypt">
<term><filename class="libraryfile">libcrypt</filename></term>
<listitem>
<para>Contains functions to hash passwords</para>
<indexterm zone="ch-system-libxcrypt libcrypt">
<primary sortas="c-libcrypt">libcrypt</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>

View File

@ -430,6 +430,14 @@
<!ENTITY libtool-fin-du "44 MB">
<!ENTITY libtool-fin-sbu "1.4 SBU">
<!ENTITY libxcrypt-version "4.4.35">
<!ENTITY libxcrypt-size "612 KB">
<!ENTITY libxcrypt-url "&github;/besser82/libxcrypt/releases/download/&libxcrypt-version;/libxcrypt-&libxcrypt-version;.tar.xz">
<!ENTITY libxcrypt-md5 "1d8487dfc43ee8e31a858456b868f836">
<!ENTITY libxcrypt-home "&github;/besser82/libxcrypt/">
<!ENTITY libxcrypt-fin-du "16 MB">
<!ENTITY libxcrypt-fin-sbu "0.1 SBU">
<!ENTITY linux-major-version "6">
<!ENTITY linux-minor-version "3">
<!ENTITY linux-patch-version "8">

View File

@ -373,6 +373,17 @@
suites in other LFS packages.</para>
</listitem>
<listitem>
<para>Libxcrypt</para>
<para>This package provides the
<systemitem class='library'>libcrypt</systemitem> library
needed by various packages (notably, Shadow) for hashing passwords.
It replaces the obsolete
<systemitem class='library'>libcrypt</systemitem> implmentation in
Glibc.</para>
</listitem>
<listitem>
<para>Linux Kernel</para>