diff options
author | Xi Ruoyao <xry111@xry111.site> | 2023-06-30 03:55:58 +0800 |
---|---|---|
committer | Xi Ruoyao <xry111@xry111.site> | 2023-06-30 04:05:51 +0800 |
commit | c727d7e7f701db63f6a32d52ff2679289cb86706 (patch) | |
tree | 1c48095957c37d9222dd9ff87dcc55961cec9b4e | |
parent | bbfb090d2a43fc140de9c9475e4f4913529d0f57 (diff) |
Add libxcrypt
-rw-r--r-- | chapter01/changelog.xml | 10 | ||||
-rw-r--r-- | chapter01/whatsnew.xml | 4 | ||||
-rw-r--r-- | chapter03/packages.xml | 9 | ||||
-rw-r--r-- | chapter08/chapter08.xml | 1 | ||||
-rw-r--r-- | chapter08/libxcrypt.xml | 148 | ||||
-rw-r--r-- | packages.ent | 8 | ||||
-rw-r--r-- | prologue/why.xml | 11 |
7 files changed, 191 insertions, 0 deletions
diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index e2b70f617..39f52d80e 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -41,6 +41,16 @@ --> <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> <listitem> diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index ded7e7df0..fa08642bc 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -305,6 +305,10 @@ <listitem><para></para></listitem> <!-- satisfy build --> <listitem> + <para>Libxcrypt-&libxcrypt-version;</para> + </listitem> + + <listitem> <para>Pkgconf-&flit-core-version;</para> </listitem> diff --git a/chapter03/packages.xml b/chapter03/packages.xml index 569d6b6aa..86932b428 100644 --- a/chapter03/packages.xml +++ b/chapter03/packages.xml @@ -469,6 +469,15 @@ </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> <para>Home page: <ulink url="&linux-home;"/></para> diff --git a/chapter08/chapter08.xml b/chapter08/chapter08.xml index 605d26782..e97ae7057 100644 --- a/chapter08/chapter08.xml +++ b/chapter08/chapter08.xml @@ -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"/> diff --git a/chapter08/libxcrypt.xml b/chapter08/libxcrypt.xml new file mode 100644 index 000000000..c65d7db29 --- /dev/null +++ b/chapter08/libxcrypt.xml @@ -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> diff --git a/packages.ent b/packages.ent index 315c67fc7..c5ef421bf 100644 --- a/packages.ent +++ b/packages.ent @@ -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"> diff --git a/prologue/why.xml b/prologue/why.xml index 7cfa14b7a..7cbe0e184 100644 --- a/prologue/why.xml +++ b/prologue/why.xml @@ -374,6 +374,17 @@ </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> <para>This package is the Operating System. It is the Linux in |