mirror of
https://git.linuxfromscratch.org/lfs.git
synced 2025-06-19 03:39:20 +01:00
Automatic merge of trunk into multilib
This commit is contained in:
commit
b8707993c4
@ -970,8 +970,8 @@
|
|||||||
<segtitle>&dependencies;</segtitle>
|
<segtitle>&dependencies;</segtitle>
|
||||||
<seglistitem>
|
<seglistitem>
|
||||||
<seg>Bash, Binutils, Coreutils, Diffutils, Findutils, Gawk, GCC,
|
<seg>Bash, Binutils, Coreutils, Diffutils, Findutils, Gawk, GCC,
|
||||||
Gettext, Glibc, GMP, Grep, M4, Make, MPC, MPFR, Patch, Perl, Sed,
|
Gettext, Glibc, GMP, Grep, Libxcrypt, M4, Make, MPC, MPFR, Patch,
|
||||||
Tar, Texinfo, and Zstd</seg>
|
Perl, Sed, Tar, Texinfo, and Zstd</seg>
|
||||||
</seglistitem>
|
</seglistitem>
|
||||||
</segmentedlist>
|
</segmentedlist>
|
||||||
|
|
||||||
@ -1885,6 +1885,47 @@
|
|||||||
</seglistitem>
|
</seglistitem>
|
||||||
</segmentedlist>
|
</segmentedlist>
|
||||||
|
|
||||||
|
<!-- Begin Libxcrypt dependency info -->
|
||||||
|
<bridgehead renderas="sect2" id="libxcrypt-dep">Libxcrypt</bridgehead>
|
||||||
|
|
||||||
|
<segmentedlist id="libxcrypt-depends">
|
||||||
|
<segtitle>&dependencies;</segtitle>
|
||||||
|
<seglistitem>
|
||||||
|
<seg>Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep,
|
||||||
|
Make, and Sed</seg>
|
||||||
|
</seglistitem>
|
||||||
|
</segmentedlist>
|
||||||
|
|
||||||
|
<segmentedlist id="libxcrypt-rundeps">
|
||||||
|
<segtitle>&runtime;</segtitle>
|
||||||
|
<seglistitem>
|
||||||
|
<seg>Glibc</seg>
|
||||||
|
</seglistitem>
|
||||||
|
</segmentedlist>
|
||||||
|
|
||||||
|
<segmentedlist id="libxcrypt-testdeps">
|
||||||
|
<segtitle>&testsuites;</segtitle>
|
||||||
|
<seglistitem>
|
||||||
|
<seg>None</seg>
|
||||||
|
</seglistitem>
|
||||||
|
</segmentedlist>
|
||||||
|
|
||||||
|
<segmentedlist id="libxcrypt-before">
|
||||||
|
<segtitle>&before;</segtitle>
|
||||||
|
<seglistitem>
|
||||||
|
<seg>GCC, Perl, Python,
|
||||||
|
<phrase revision='sysv'>and </phrase>Shadow<phrase
|
||||||
|
revision='systemd'>, and Systemd</phrase></seg>
|
||||||
|
</seglistitem>
|
||||||
|
</segmentedlist>
|
||||||
|
|
||||||
|
<segmentedlist id="libxcrypt-optdeps">
|
||||||
|
<segtitle>&external;</segtitle>
|
||||||
|
<seglistitem>
|
||||||
|
<seg>None</seg>
|
||||||
|
</seglistitem>
|
||||||
|
</segmentedlist>
|
||||||
|
|
||||||
<!-- Begin Linux dependency info -->
|
<!-- Begin Linux dependency info -->
|
||||||
<bridgehead renderas="sect2" id="linux-dep">Linux</bridgehead>
|
<bridgehead renderas="sect2" id="linux-dep">Linux</bridgehead>
|
||||||
|
|
||||||
@ -2455,14 +2496,14 @@
|
|||||||
<segtitle>&dependencies;</segtitle>
|
<segtitle>&dependencies;</segtitle>
|
||||||
<seglistitem>
|
<seglistitem>
|
||||||
<seg>Bash, Binutils, Coreutils, Gawk, GCC, GDBM, Glibc, Grep, Groff,
|
<seg>Bash, Binutils, Coreutils, Gawk, GCC, GDBM, Glibc, Grep, Groff,
|
||||||
Make, Sed, and Zlib</seg>
|
Libxcrypt, Make, Sed, and Zlib</seg>
|
||||||
</seglistitem>
|
</seglistitem>
|
||||||
</segmentedlist>
|
</segmentedlist>
|
||||||
|
|
||||||
<segmentedlist id="perl-rundeps">
|
<segmentedlist id="perl-rundeps">
|
||||||
<segtitle>&runtime;</segtitle>
|
<segtitle>&runtime;</segtitle>
|
||||||
<seglistitem>
|
<seglistitem>
|
||||||
<seg>GDBM and Glibc</seg>
|
<seg>GDBM, Glibc, and Libxcrypt</seg>
|
||||||
</seglistitem>
|
</seglistitem>
|
||||||
</segmentedlist>
|
</segmentedlist>
|
||||||
|
|
||||||
@ -2621,7 +2662,7 @@
|
|||||||
<segtitle>&dependencies;</segtitle>
|
<segtitle>&dependencies;</segtitle>
|
||||||
<seglistitem>
|
<seglistitem>
|
||||||
<seg>Bash, Binutils, Coreutils, Expat, GCC, Gdbm, Gettext, Glibc,
|
<seg>Bash, Binutils, Coreutils, Expat, GCC, Gdbm, Gettext, Glibc,
|
||||||
Grep, Libffi, Make, Ncurses, OpenSSL, Pkgconf, Sed, and
|
Grep, Libffi, Libxcrypt, Make, Ncurses, OpenSSL, Pkgconf, Sed, and
|
||||||
Util-linux</seg>
|
Util-linux</seg>
|
||||||
</seglistitem>
|
</seglistitem>
|
||||||
</segmentedlist>
|
</segmentedlist>
|
||||||
@ -2629,8 +2670,8 @@
|
|||||||
<segmentedlist id="python-rundeps">
|
<segmentedlist id="python-rundeps">
|
||||||
<segtitle>&runtime;</segtitle>
|
<segtitle>&runtime;</segtitle>
|
||||||
<seglistitem>
|
<seglistitem>
|
||||||
<seg>Bzip2, Expat, Gdbm, Glibc, Libffi, Ncurses, OpenSSL, and
|
<seg>Bzip2, Expat, Gdbm, Glibc, Libffi, Libxcrypt, Ncurses,
|
||||||
Zlib</seg>
|
OpenSSL, and Zlib</seg>
|
||||||
</seglistitem>
|
</seglistitem>
|
||||||
</segmentedlist>
|
</segmentedlist>
|
||||||
|
|
||||||
@ -2745,14 +2786,14 @@
|
|||||||
<segtitle>&dependencies;</segtitle>
|
<segtitle>&dependencies;</segtitle>
|
||||||
<seglistitem>
|
<seglistitem>
|
||||||
<seg>Acl, Attr, Bash, Binutils, Coreutils, Diffutils, Findutils, Gawk,
|
<seg>Acl, Attr, Bash, Binutils, Coreutils, Diffutils, Findutils, Gawk,
|
||||||
GCC, Gettext, Glibc, Grep, Libcap, Make, and Sed</seg>
|
GCC, Gettext, Glibc, Grep, Libcap, Libxcrypt, Make, and Sed</seg>
|
||||||
</seglistitem>
|
</seglistitem>
|
||||||
</segmentedlist>
|
</segmentedlist>
|
||||||
|
|
||||||
<segmentedlist id="shadow-rundeps">
|
<segmentedlist id="shadow-rundeps">
|
||||||
<segtitle>&runtime;</segtitle>
|
<segtitle>&runtime;</segtitle>
|
||||||
<seglistitem>
|
<seglistitem>
|
||||||
<seg>Glibc</seg>
|
<seg>Glibc and Libxcrypt</seg>
|
||||||
</seglistitem>
|
</seglistitem>
|
||||||
</segmentedlist>
|
</segmentedlist>
|
||||||
|
|
||||||
@ -2826,15 +2867,15 @@
|
|||||||
<segtitle>&dependencies;</segtitle>
|
<segtitle>&dependencies;</segtitle>
|
||||||
<seglistitem>
|
<seglistitem>
|
||||||
<seg>Acl, Attr, Bash, Binutils, Coreutils, Diffutils, Expat, Gawk,
|
<seg>Acl, Attr, Bash, Binutils, Coreutils, Diffutils, Expat, Gawk,
|
||||||
GCC, Glibc, Gperf, Grep, Jinja2, Libcap, Meson, Pkgconf, Sed,
|
GCC, Glibc, Gperf, Grep, Jinja2, Libcap, Libxcrypt, Meson,
|
||||||
Util-linux, and Zstd</seg>
|
Pkgconf, Sed, Util-linux, and Zstd</seg>
|
||||||
</seglistitem>
|
</seglistitem>
|
||||||
</segmentedlist>
|
</segmentedlist>
|
||||||
|
|
||||||
<segmentedlist id="systemd-rundeps" revision='systemd'>
|
<segmentedlist id="systemd-rundeps" revision='systemd'>
|
||||||
<segtitle>&runtime;</segtitle>
|
<segtitle>&runtime;</segtitle>
|
||||||
<seglistitem>
|
<seglistitem>
|
||||||
<seg>Acl, Attr, Glibc, Libcap, and Util-linux</seg>
|
<seg>Acl, Attr, Glibc, Libcap, Libxcrypt, and Util-linux</seg>
|
||||||
</seglistitem>
|
</seglistitem>
|
||||||
</segmentedlist>
|
</segmentedlist>
|
||||||
|
|
||||||
|
@ -40,6 +40,24 @@
|
|||||||
appropriate for the entry or if needed the entire day's listitem.
|
appropriate for the entry or if needed the entire day's listitem.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>2023-07-02</para>
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>[xry111] - Add libxcrypt-4.4.35. Fixes
|
||||||
|
<ulink url='&lfs-ticket-root;5280'>#5280</ulink>.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>[xry111] - Update to iproute2-6.4.0. Fixes
|
||||||
|
<ulink url='&lfs-ticket-root;5277'>#5277</ulink>.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>[xry111] - Update to linux-6.4.1. Fixes
|
||||||
|
<ulink url='&lfs-ticket-root;5276'>#5276</ulink>.</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>2023-07-01</para>
|
<para>2023-07-01</para>
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
|
@ -304,6 +304,10 @@
|
|||||||
<title>Added:</title>
|
<title>Added:</title>
|
||||||
<listitem><para></para></listitem> <!-- satisfy build -->
|
<listitem><para></para></listitem> <!-- satisfy build -->
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>Libxcrypt-&libxcrypt-version;</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Pkgconf-&flit-core-version;</para>
|
<para>Pkgconf-&flit-core-version;</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
@ -477,6 +477,15 @@
|
|||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</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>
|
<varlistentry>
|
||||||
<term>Linux (&linux-version;) - <token>&linux-size;</token>:</term>
|
<term>Linux (&linux-version;) - <token>&linux-size;</token>:</term>
|
||||||
<listitem>
|
<listitem>
|
||||||
|
@ -94,6 +94,7 @@ cd build</userinput></screen>
|
|||||||
--build=$(../scripts/config.guess) \
|
--build=$(../scripts/config.guess) \
|
||||||
--enable-kernel=&min-kernel; \
|
--enable-kernel=&min-kernel; \
|
||||||
--with-headers=$LFS/usr/include \
|
--with-headers=$LFS/usr/include \
|
||||||
|
--disable-crypt \
|
||||||
libc_cv_slibdir=/usr/lib</userinput></screen>
|
libc_cv_slibdir=/usr/lib</userinput></screen>
|
||||||
<screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure">../configure \
|
<screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure">../configure \
|
||||||
--prefix=/usr \
|
--prefix=/usr \
|
||||||
|
@ -104,6 +104,7 @@ cd build</userinput></screen>
|
|||||||
--disable-libatomic \
|
--disable-libatomic \
|
||||||
--disable-libgomp \
|
--disable-libgomp \
|
||||||
--disable-libquadmath \
|
--disable-libquadmath \
|
||||||
|
--disable-libsanitizer \
|
||||||
--disable-libssp \
|
--disable-libssp \
|
||||||
--disable-libvtv \
|
--disable-libvtv \
|
||||||
--enable-languages=c,c++</userinput></screen>
|
--enable-languages=c,c++</userinput></screen>
|
||||||
@ -176,6 +177,19 @@ cd build</userinput></screen>
|
|||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
|
<varlistentry>
|
||||||
|
<term><parameter>--disable-libsanitizer</parameter></term>
|
||||||
|
<listitem>
|
||||||
|
<para>Disable GCC sanitizer runtime libraries. They are not
|
||||||
|
needed for the temporary installation. This switch is necessary
|
||||||
|
to build GCC without
|
||||||
|
<systemitem class='library'>libcrypt</systemitem> installed for
|
||||||
|
the target. In <xref linkend='ch-tools-gcc-pass1'/> it was
|
||||||
|
implied by <parameter>--disable-libstdcxx</parameter>, but now we
|
||||||
|
have to explicitly pass it.</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
</variablelist>
|
</variablelist>
|
||||||
|
|
||||||
<para>Compile the package:</para>
|
<para>Compile the package:</para>
|
||||||
|
@ -37,6 +37,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="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="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="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="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="gcc.xml"/>
|
||||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="pkgconf.xml"/>
|
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="pkgconf.xml"/>
|
||||||
|
@ -79,6 +79,7 @@ cd build</userinput></screen>
|
|||||||
--enable-kernel=&min-kernel; \
|
--enable-kernel=&min-kernel; \
|
||||||
--enable-stack-protector=strong \
|
--enable-stack-protector=strong \
|
||||||
--with-headers=/usr/include \
|
--with-headers=/usr/include \
|
||||||
|
--disable-crypt \
|
||||||
libc_cv_slibdir=/usr/lib</userinput></screen>
|
libc_cv_slibdir=/usr/lib</userinput></screen>
|
||||||
<screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure">../configure --prefix=/usr \
|
<screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure">../configure --prefix=/usr \
|
||||||
--disable-werror \
|
--disable-werror \
|
||||||
@ -646,7 +647,7 @@ readelf -l a.out | grep '/ld-linux-x32'</userinput></screen>
|
|||||||
<seg>ld-linux-x86-64.so.2, ld-linux.so.2,
|
<seg>ld-linux-x86-64.so.2, ld-linux.so.2,
|
||||||
libBrokenLocale.{a,so}, libanl.{a,so},
|
libBrokenLocale.{a,so}, libanl.{a,so},
|
||||||
libc.{a,so}, libc_nonshared.a, libc_malloc_debug.so,
|
libc.{a,so}, libc_nonshared.a, libc_malloc_debug.so,
|
||||||
libcrypt.{a,so}, libdl.{a,so.2}, libg.a, libm.{a,so},
|
libdl.{a,so.2}, libg.a, libm.{a,so},
|
||||||
libmcheck.a, libmemusage.so, libmvec.{a,so}, libnsl.so.1,
|
libmcheck.a, libmemusage.so, libmvec.{a,so}, libnsl.so.1,
|
||||||
libnss_compat.so, libnss_dns.so, libnss_files.so, libnss_hesiod.so,
|
libnss_compat.so, libnss_dns.so, libnss_files.so, libnss_hesiod.so,
|
||||||
libpcprofile.so, libpthread.{a,so.0},
|
libpcprofile.so, libpthread.{a,so.0},
|
||||||
@ -952,16 +953,6 @@ readelf -l a.out | grep '/ld-linux-x32'</userinput></screen>
|
|||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry id="libcrypt">
|
|
||||||
<term><filename class="libraryfile">libcrypt</filename></term>
|
|
||||||
<listitem>
|
|
||||||
<para>The cryptography library</para>
|
|
||||||
<indexterm zone="ch-system-glibc libcrypt">
|
|
||||||
<primary sortas="c-libcrypt">libcrypt</primary>
|
|
||||||
</indexterm>
|
|
||||||
</listitem>
|
|
||||||
</varlistentry>
|
|
||||||
|
|
||||||
<varlistentry id="libdl">
|
<varlistentry id="libdl">
|
||||||
<term><filename class="libraryfile">libdl</filename></term>
|
<term><filename class="libraryfile">libdl</filename></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
|
148
chapter08/libxcrypt.xml
Normal file
148
chapter08/libxcrypt.xml
Normal 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 functions 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>
|
@ -60,11 +60,10 @@ find man -name Makefile.in -exec sed -i 's/getspnam\.3 / /' {} \;
|
|||||||
find man -name Makefile.in -exec sed -i 's/passwd\.5 / /' {} \;</userinput></screen>
|
find man -name Makefile.in -exec sed -i 's/passwd\.5 / /' {} \;</userinput></screen>
|
||||||
|
|
||||||
<para id="shadow-login_defs">Instead of using the default
|
<para id="shadow-login_defs">Instead of using the default
|
||||||
<emphasis>crypt</emphasis> method, use the more secure
|
<emphasis>crypt</emphasis> method, use the much more secure
|
||||||
<emphasis>SHA-512</emphasis> method of password encryption, which also
|
<emphasis>YESCRYPT</emphasis> method of password encryption, which also
|
||||||
allows passwords longer than 8 characters. In addition, set the number of
|
allows passwords longer than 8 characters.
|
||||||
rounds to 500,000 instead of the default 5000, which is much too low to
|
It is also necessary to change
|
||||||
prevent brute force password attacks. It is also necessary to change
|
|
||||||
the obsolete <filename class="directory">/var/spool/mail</filename> location
|
the obsolete <filename class="directory">/var/spool/mail</filename> location
|
||||||
for user mailboxes that Shadow uses by default to the <filename
|
for user mailboxes that Shadow uses by default to the <filename
|
||||||
class="directory">/var/mail</filename> location used currently. And,
|
class="directory">/var/mail</filename> location used currently. And,
|
||||||
@ -81,8 +80,7 @@ find man -name Makefile.in -exec sed -i 's/passwd\.5 / /' {} \;</userinput></s
|
|||||||
built.</para>
|
built.</para>
|
||||||
</note>
|
</note>
|
||||||
|
|
||||||
<screen><userinput remap="pre">sed -e 's:#ENCRYPT_METHOD DES:ENCRYPT_METHOD SHA512:' \
|
<screen><userinput remap="pre">sed -e 's:#ENCRYPT_METHOD DES:ENCRYPT_METHOD YESCRYPT:' \
|
||||||
-e 's@#\(SHA_CRYPT_..._ROUNDS 5000\)@\100@' \
|
|
||||||
-e 's:/var/spool/mail:/var/mail:' \
|
-e 's:/var/spool/mail:/var/mail:' \
|
||||||
-e '/PATH=/{s@/sbin:@@;s@/bin:@@}' \
|
-e '/PATH=/{s@/sbin:@@;s@/bin:@@}' \
|
||||||
-i etc/login.defs</userinput></screen>
|
-i etc/login.defs</userinput></screen>
|
||||||
@ -108,6 +106,7 @@ find man -name Makefile.in -exec sed -i 's/passwd\.5 / /' {} \;</userinput></s
|
|||||||
<screen><userinput remap="configure">touch /usr/bin/passwd
|
<screen><userinput remap="configure">touch /usr/bin/passwd
|
||||||
./configure --sysconfdir=/etc \
|
./configure --sysconfdir=/etc \
|
||||||
--disable-static \
|
--disable-static \
|
||||||
|
--with-{b,yes}crypt \
|
||||||
--with-group-name-max-length=32</userinput></screen>
|
--with-group-name-max-length=32</userinput></screen>
|
||||||
|
|
||||||
<variablelist>
|
<variablelist>
|
||||||
@ -122,6 +121,21 @@ find man -name Makefile.in -exec sed -i 's/passwd\.5 / /' {} \;</userinput></s
|
|||||||
create it in the wrong place.</para>
|
create it in the wrong place.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
|
<varlistentry>
|
||||||
|
<term><parameter>--with-{b,yes}crypt</parameter></term>
|
||||||
|
<listitem>
|
||||||
|
<para>The shell expands this to two switches,
|
||||||
|
<parameter>--with-bcrypt</parameter> and
|
||||||
|
<parameter>--with-yescrypt</parameter>. They allow shadow to use
|
||||||
|
the Bcrypt and Yescrypt algorithms implemented by
|
||||||
|
<application>Libxcrypt</application> for hashing passwords.
|
||||||
|
These algorithms are more secure (in particular, much more
|
||||||
|
resistant to GPU-based attacks) than the traditional SHA
|
||||||
|
algorithms.</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><parameter>--with-group-name-max-length=32</parameter></term>
|
<term><parameter>--with-group-name-max-length=32</parameter></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
|
@ -83,9 +83,9 @@ for (s, act) in [(upd, "Update to "), (add, "Add ")]:
|
|||||||
out = act + pkgver
|
out = act + pkgver
|
||||||
if pkgver in ticket:
|
if pkgver in ticket:
|
||||||
out += ' (#' + ticket[pkgver] + ')'
|
out += ' (#' + ticket[pkgver] + ')'
|
||||||
print(out)
|
print("-", out)
|
||||||
for i in rem:
|
for i in rem:
|
||||||
print("Remove", i)
|
print("-", "Remove", i)
|
||||||
|
|
||||||
print("---------------------")
|
print("---------------------")
|
||||||
|
|
||||||
|
@ -12,12 +12,10 @@ $exceptions = array();
|
|||||||
|
|
||||||
$regex = array();
|
$regex = array();
|
||||||
//$regex[ 'bzip2' ] = "/^.*current version is ([\d\.]+).*$/";
|
//$regex[ 'bzip2' ] = "/^.*current version is ([\d\.]+).*$/";
|
||||||
$regex[ 'check' ] = "/^.*Check (\d[\d\.]+\d).*$/";
|
|
||||||
$regex[ 'intltool' ] = "/^.*Latest version is (\d[\d\.]+\d).*$/";
|
$regex[ 'intltool' ] = "/^.*Latest version is (\d[\d\.]+\d).*$/";
|
||||||
$regex[ 'less' ] = "/^.*current released version is less-(\d+).*$/";
|
$regex[ 'less' ] = "/^.*current released version is less-(\d+).*$/";
|
||||||
$regex[ 'mpfr' ] = "/^mpfr-([\d\.]+)\.tar.*$/";
|
$regex[ 'mpfr' ] = "/^mpfr-([\d\.]+)\.tar.*$/";
|
||||||
$regex[ 'Python' ] = "/^.*Latest Python 3.*Python (3[\d\.]+\d).*$/";
|
$regex[ 'Python' ] = "/^.*Latest Python 3.*Python (3[\d\.]+\d).*$/";
|
||||||
$regex[ 'systemd' ] = "/^.*systemd v([\d]+)$/";
|
|
||||||
//$regex[ 'sysvinit' ] = "/^.*sysvinit-([\d\.]+)dsf\.tar.*$/";
|
//$regex[ 'sysvinit' ] = "/^.*sysvinit-([\d\.]+)dsf\.tar.*$/";
|
||||||
$regex[ 'tzdata' ] = "/^.*tzdata([\d]+[a-z]).*$/";
|
$regex[ 'tzdata' ] = "/^.*tzdata([\d]+[a-z]).*$/";
|
||||||
$regex[ 'xz' ] = "/^.*xz-([\d\.]*\d).*$/";
|
$regex[ 'xz' ] = "/^.*xz-([\d\.]*\d).*$/";
|
||||||
@ -69,17 +67,7 @@ function find_even_max( $lines, $regex_match, $regex_replace )
|
|||||||
|
|
||||||
function http_get_file( $url )
|
function http_get_file( $url )
|
||||||
{
|
{
|
||||||
if ( ! preg_match( "/sourceforge/", $url ) &&
|
if ( preg_match( "/mpfr/", $url ) )
|
||||||
! preg_match( "/mpfr/", $url ) &&
|
|
||||||
! preg_match( "/psmisc/", $url ) )
|
|
||||||
{
|
|
||||||
exec( "curl --location --silent --max-time 30 $url", $dir );
|
|
||||||
|
|
||||||
$s = implode( "\n", $dir );
|
|
||||||
$dir = strip_tags( $s );
|
|
||||||
return explode( "\n", $dir );
|
|
||||||
}
|
|
||||||
else if ( preg_match( "/mpfr/", $url ) )
|
|
||||||
{
|
{
|
||||||
# There seems to be a problem with the mpfs certificate
|
# There seems to be a problem with the mpfs certificate
|
||||||
exec( "curl --location --silent --insecure --max-time 30 $url", $dir );
|
exec( "curl --location --silent --insecure --max-time 30 $url", $dir );
|
||||||
@ -87,11 +75,19 @@ function http_get_file( $url )
|
|||||||
$dir = strip_tags( $s );
|
$dir = strip_tags( $s );
|
||||||
return explode( "\n", $dir );
|
return explode( "\n", $dir );
|
||||||
}
|
}
|
||||||
else
|
|
||||||
|
if ( preg_match( "/sourceforge/", $url ) ||
|
||||||
|
preg_match( "/psmisc/", $url ) )
|
||||||
{
|
{
|
||||||
exec( "lynx -dump $url 2>/dev/null", $lines );
|
exec( "lynx -dump $url 2>/dev/null", $lines );
|
||||||
return $lines;
|
return $lines;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
exec( "curl --location --silent --max-time 30 $url", $dir );
|
||||||
|
|
||||||
|
$s = implode( "\n", $dir );
|
||||||
|
$dir = strip_tags( $s );
|
||||||
|
return explode( "\n", $dir );
|
||||||
}
|
}
|
||||||
|
|
||||||
function max_parent( $dirpath, $prefix )
|
function max_parent( $dirpath, $prefix )
|
||||||
@ -110,6 +106,11 @@ function max_parent( $dirpath, $prefix )
|
|||||||
return "$dirpath/$max";
|
return "$dirpath/$max";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function github( $path )
|
||||||
|
{
|
||||||
|
return "https://api.github.com/repos/$path/releases/latest";
|
||||||
|
}
|
||||||
|
|
||||||
function get_packages( $package, $dirpath )
|
function get_packages( $package, $dirpath )
|
||||||
{
|
{
|
||||||
global $exceptions;
|
global $exceptions;
|
||||||
@ -117,39 +118,40 @@ function get_packages( $package, $dirpath )
|
|||||||
|
|
||||||
//if ( $package != "psmisc" ) return 0; // debug
|
//if ( $package != "psmisc" ) return 0; // debug
|
||||||
|
|
||||||
if ( $package == "bc" ) $dirpath = "https://github.com/gavinhoward/bc/releases";
|
if ( $package == "bc" ) $dirpath = github("gavinhoward/bc");
|
||||||
if ( $package == "check" ) $dirpath = "https://github.com/libcheck/check/releases";
|
if ( $package == "check" ) $dirpath = github("libcheck/check");
|
||||||
if ( $package == "e2fsprogs" ) $dirpath = "https://sourceforge.net/projects/e2fsprogs/files/e2fsprogs";
|
if ( $package == "e2fsprogs" ) $dirpath = "https://sourceforge.net/projects/e2fsprogs/files/e2fsprogs";
|
||||||
if ( $package == "expat" ) $dirpath = "https://sourceforge.net/projects/expat/files";
|
if ( $package == "expat" ) $dirpath = "https://sourceforge.net/projects/expat/files";
|
||||||
if ( $package == "elfutils" ) $dirpath = "https://sourceware.org/ftp/elfutils";
|
if ( $package == "elfutils" ) $dirpath = "https://sourceware.org/ftp/elfutils";
|
||||||
if ( $package == "expect" ) $dirpath = "https://sourceforge.net/projects/expect/files";
|
if ( $package == "expect" ) $dirpath = "https://sourceforge.net/projects/expect/files";
|
||||||
if ( $package == "eudev" ) $dirpath = "https://github.com/eudev-project/eudev/releases";
|
if ( $package == "eudev" ) $dirpath = github("eudev-project/eudev");
|
||||||
if ( $package == "file" ) $dirpath = "https://github.com/file/file/tags";
|
if ( $package == "file" ) $dirpath = "https://github.com/file/file/tags";
|
||||||
if ( $package == "flex" ) $dirpath = "https://github.com/westes/flex/releases";
|
if ( $package == "flex" ) $dirpath = github("westes/flex");
|
||||||
if ( $package == "flit_core" ) $dirpath = "https://pypi.org/project/flit-core/";
|
if ( $package == "flit_core" ) $dirpath = "https://pypi.org/project/flit-core/";
|
||||||
if ( $package == "gcc" ) $dirpath = max_parent( $dirpath, "gcc-" );
|
if ( $package == "gcc" ) $dirpath = max_parent( $dirpath, "gcc-" );
|
||||||
if ( $package == "iana-etc" ) $dirpath = "https://github.com/Mic92/iana-etc/releases";
|
if ( $package == "iana-etc" ) $dirpath = github("Mic92/iana-etc");
|
||||||
if ( $package == "intltool" ) $dirpath = "https://launchpad.net/intltool/trunk";
|
if ( $package == "intltool" ) $dirpath = "https://launchpad.net/intltool/trunk";
|
||||||
if ( $package == "libffi" ) $dirpath = "https://github.com/libffi/libffi/releases";
|
if ( $package == "libffi" ) $dirpath = github("libffi/libffi");
|
||||||
if ( $package == "meson" ) $dirpath = "https://github.com/mesonbuild/meson/releases";
|
if ( $package == "libxcrypt" ) $dirpath = github("besser82/libxcrypt");
|
||||||
|
if ( $package == "meson" ) $dirpath = github("mesonbuild/meson");
|
||||||
if ( $package == "mpc" ) $dirpath = "https://ftp.gnu.org/gnu/mpc";
|
if ( $package == "mpc" ) $dirpath = "https://ftp.gnu.org/gnu/mpc";
|
||||||
if ( $package == "mpfr" ) $dirpath = "https://mpfr.loria.fr/mpfr-current";
|
if ( $package == "mpfr" ) $dirpath = "https://mpfr.loria.fr/mpfr-current";
|
||||||
if ( $package == "ncurses" ) $dirpath = "https://invisible-mirror.net/archives/ncurses";
|
if ( $package == "ncurses" ) $dirpath = "https://invisible-mirror.net/archives/ncurses";
|
||||||
if ( $package == "ninja" ) $dirpath = "https://github.com/ninja-build/ninja/releases";
|
if ( $package == "ninja" ) $dirpath = github("ninja-build/ninja");
|
||||||
if ( $package == "procps-ng" ) $dirpath = "https://gitlab.com/procps-ng/procps/-/tags";
|
if ( $package == "procps-ng" ) $dirpath = "https://gitlab.com/procps-ng/procps/-/tags";
|
||||||
if ( $package == "psmisc" ) $dirpath = "https://gitlab.com/psmisc/psmisc/-/tags";
|
if ( $package == "psmisc" ) $dirpath = "https://gitlab.com/psmisc/psmisc/-/tags";
|
||||||
if ( $package == "Python" ) $dirpath = "https://www.python.org/downloads/source/";
|
if ( $package == "Python" ) $dirpath = "https://www.python.org/downloads/source/";
|
||||||
if ( $package == "shadow" ) $dirpath = "https://github.com/shadow-maint/shadow/releases";
|
if ( $package == "shadow" ) $dirpath = github("shadow-maint/shadow");
|
||||||
if ( $package == "sysvinit" ) $dirpath = "https://github.com/slicer69/sysvinit/releases";
|
if ( $package == "sysvinit" ) $dirpath = github("slicer69/sysvinit");
|
||||||
if ( $package == "MarkupSafe" ) $dirpath = "https://pypi.python.org/pypi/MarkupSafe/";
|
if ( $package == "MarkupSafe" ) $dirpath = "https://pypi.python.org/pypi/MarkupSafe/";
|
||||||
if ( $package == "Jinja" ) $dirpath = "https://pypi.python.org/pypi/Jinja2/";
|
if ( $package == "Jinja" ) $dirpath = "https://pypi.python.org/pypi/Jinja2/";
|
||||||
if ( $package == "systemd" ) $dirpath = "https://github.com/systemd/systemd/releases";
|
if ( $package == "systemd" ) $dirpath = github("systemd/systemd");
|
||||||
//if ( $package == "tcl" ) $dirpath = "https://sourceforge.net/projects/tcl/files";
|
//if ( $package == "tcl" ) $dirpath = "https://sourceforge.net/projects/tcl/files";
|
||||||
if ( $package == "tcl" ) $dirpath = "https://www.tcl.tk/software/tcltk/download.html";
|
if ( $package == "tcl" ) $dirpath = "https://www.tcl.tk/software/tcltk/download.html";
|
||||||
if ( $package == "util-linux" ) $dirpath = max_parent( $dirpath, "v." );
|
if ( $package == "util-linux" ) $dirpath = max_parent( $dirpath, "v." );
|
||||||
if ( $package == "vim" ) $dirpath = "https://github.com/vim/vim/tags";
|
if ( $package == "vim" ) $dirpath = "https://github.com/vim/vim/tags";
|
||||||
if ( $package == "wheel" ) $dirpath = "https://pypi.org/project/wheel/#files";
|
if ( $package == "wheel" ) $dirpath = "https://pypi.org/project/wheel/#files";
|
||||||
if ( $package == "zstd" ) $dirpath = "https://github.com/facebook/zstd/releases";
|
if ( $package == "zstd" ) $dirpath = github("facebook/zstd");
|
||||||
|
|
||||||
// Check for ftp
|
// Check for ftp
|
||||||
if ( preg_match( "/^ftp/", $dirpath ) )
|
if ( preg_match( "/^ftp/", $dirpath ) )
|
||||||
@ -259,27 +261,12 @@ if ( $package == "zstd" ) $dirpath = "https://github.com/facebook/zstd/rel
|
|||||||
if ( $package == "e2fsprogs" )
|
if ( $package == "e2fsprogs" )
|
||||||
return find_max( $lines, "/v\d/", "/^.*v(\d[\d\.]+\d).*$/" );
|
return find_max( $lines, "/v\d/", "/^.*v(\d[\d\.]+\d).*$/" );
|
||||||
|
|
||||||
if ( $package == "eudev" )
|
|
||||||
return find_max( $lines, "/Release/", "/^.*Release (\d[\d\.]+\d).*$/" );
|
|
||||||
|
|
||||||
if ( $package == "expect" )
|
if ( $package == "expect" )
|
||||||
return find_max( $lines, "/expect/", "/^.*expect(\d[\d\.]+\d).tar.*$/" );
|
return find_max( $lines, "/expect/", "/^.*expect(\d[\d\.]+\d).tar.*$/" );
|
||||||
|
|
||||||
if ( $package == "elfutils" )
|
if ( $package == "elfutils" )
|
||||||
return find_max( $lines, "/^\d/", "/^(\d[\d\.]+\d)\/.*$/" );
|
return find_max( $lines, "/^\d/", "/^(\d[\d\.]+\d)\/.*$/" );
|
||||||
|
|
||||||
if ( $package == "iana-etc" )
|
|
||||||
return find_max( $lines, "/^\s*20\d\d/", "/^\s+(\d+).*$/" );
|
|
||||||
|
|
||||||
if ( $package == "meson" )
|
|
||||||
return find_max( $lines, "/^\s+\d\./", "/^\s+([\d\.]+)$/" );
|
|
||||||
|
|
||||||
if ( $package == "shadow" )
|
|
||||||
return find_max( $lines, "/^\s+\d\./", "/^\s+([\d\.]+)$/" );
|
|
||||||
|
|
||||||
if ( $package == "sysvinit" )
|
|
||||||
return find_max( $lines, "/^\s+\d\./", "/^\s+([\d\.]+)$/" );
|
|
||||||
|
|
||||||
if ( $package == "XML-Parser" )
|
if ( $package == "XML-Parser" )
|
||||||
{
|
{
|
||||||
$max = find_max( $lines, "/$package/", "/^.*$package-([\d\._]*\d).tar.*$/" );
|
$max = find_max( $lines, "/$package/", "/^.*$package-([\d\._]*\d).tar.*$/" );
|
||||||
@ -291,9 +278,6 @@ if ( $package == "zstd" ) $dirpath = "https://github.com/facebook/zstd/rel
|
|||||||
if ( $package == "tcl" )
|
if ( $package == "tcl" )
|
||||||
return find_max( $lines, "/tcl\d/", "/^.*tcl(\d\.[\d\.]*\d)-src.*$/" );
|
return find_max( $lines, "/tcl\d/", "/^.*tcl(\d\.[\d\.]*\d)-src.*$/" );
|
||||||
|
|
||||||
if ( $package == "ninja" )
|
|
||||||
return find_max( $lines, "/^ *v\d/", "/^.*v(\d[\d\.]*\d).*$/" );
|
|
||||||
|
|
||||||
if ( $package == "gmp" )
|
if ( $package == "gmp" )
|
||||||
return find_max( $lines, "/$package/", "/^.*$package-([\d\._]*\d[a-z]?).tar.*$/" );
|
return find_max( $lines, "/$package/", "/^.*$package-([\d\._]*\d[a-z]?).tar.*$/" );
|
||||||
|
|
||||||
@ -306,9 +290,6 @@ if ( $package == "zstd" ) $dirpath = "https://github.com/facebook/zstd/rel
|
|||||||
return str_replace( "_", ".", $max );
|
return str_replace( "_", ".", $max );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( $package == "libffi" )
|
|
||||||
return find_max( $lines, "/v\d/", "/^.*v([\d\.]+)$/" );
|
|
||||||
|
|
||||||
if ( $package == "flit_core" )
|
if ( $package == "flit_core" )
|
||||||
return find_max( $lines, "/flit-core /", "/^.*flit-core ([\d\.]+)$/" );
|
return find_max( $lines, "/flit-core /", "/^.*flit-core ([\d\.]+)$/" );
|
||||||
|
|
||||||
@ -330,8 +311,8 @@ if ( $package == "zstd" ) $dirpath = "https://github.com/facebook/zstd/rel
|
|||||||
if ( $package == "vim" )
|
if ( $package == "vim" )
|
||||||
return find_max( $lines, "/v\d\./", "/^.*v([\d\.]+).*$/" );
|
return find_max( $lines, "/v\d\./", "/^.*v([\d\.]+).*$/" );
|
||||||
|
|
||||||
if ( $package == "zstd" )
|
if ( preg_match( "/api.github.com/", $dirpath) )
|
||||||
return find_max( $lines, "/Zstandard v/", "/^.*v([\d\.]+).*$/" );
|
return ltrim(json_decode(join("", $lines))->tag_name, "v");
|
||||||
|
|
||||||
// Most packages are in the form $package-n.n.n
|
// Most packages are in the form $package-n.n.n
|
||||||
// Occasionally there are dashes (e.g. 201-1)
|
// Occasionally there are dashes (e.g. 201-1)
|
||||||
@ -346,13 +327,15 @@ function get_current()
|
|||||||
// Fetech from git and get wget-list
|
// Fetech from git and get wget-list
|
||||||
$current = array();
|
$current = array();
|
||||||
#$lfssvn = "svn://svn.linuxfromscratch.org/LFS/trunk";
|
#$lfssvn = "svn://svn.linuxfromscratch.org/LFS/trunk";
|
||||||
$lfsgit = "git://git.linuxfromscratch.org/lfs.git";
|
$lfsgit = "https://git.linuxfromscratch.org/lfs.git";
|
||||||
|
|
||||||
$tmpdir = exec( "mktemp -d /tmp/lfscheck.XXXXXX" );
|
$tmpdir = exec( "mktemp -d /tmp/lfscheck.XXXXXX" );
|
||||||
$cdir = getcwd();
|
$cdir = getcwd();
|
||||||
chdir( $tmpdir );
|
chdir( $tmpdir );
|
||||||
#exec ( "svn --quiet export $lfssvn LFS" );
|
|
||||||
exec ( "git clone $lfsgit LFS" );
|
# git-version.sh needs the history since the rx.y tag.
|
||||||
|
exec ( "git clone $lfsgit LFS --depth 1 --branch r11.2" );
|
||||||
|
exec ( "git -C LFS pull origin trunk" );
|
||||||
|
|
||||||
# Make version.ent
|
# Make version.ent
|
||||||
chdir( "$tmpdir/LFS" );
|
chdir( "$tmpdir/LFS" );
|
||||||
|
24
packages.ent
24
packages.ent
@ -350,10 +350,10 @@
|
|||||||
<!ENTITY intltool-fin-du "1.5 MB">
|
<!ENTITY intltool-fin-du "1.5 MB">
|
||||||
<!ENTITY intltool-fin-sbu "less than 0.1 SBU">
|
<!ENTITY intltool-fin-sbu "less than 0.1 SBU">
|
||||||
|
|
||||||
<!ENTITY iproute2-version "6.3.0">
|
<!ENTITY iproute2-version "6.4.0">
|
||||||
<!ENTITY iproute2-size "894 KB">
|
<!ENTITY iproute2-size "904 KB">
|
||||||
<!ENTITY iproute2-url "&kernel;linux/utils/net/iproute2/iproute2-&iproute2-version;.tar.xz">
|
<!ENTITY iproute2-url "&kernel;linux/utils/net/iproute2/iproute2-&iproute2-version;.tar.xz">
|
||||||
<!ENTITY iproute2-md5 "53ecd48564c75d5fa4b5325d47344d68">
|
<!ENTITY iproute2-md5 "90ce0eb84a8f1e2b14ffa77e8eb3f5ed">
|
||||||
<!ENTITY iproute2-home "&kernel;linux/utils/net/iproute2/">
|
<!ENTITY iproute2-home "&kernel;linux/utils/net/iproute2/">
|
||||||
<!ENTITY iproute2-fin-du "17 MB">
|
<!ENTITY iproute2-fin-du "17 MB">
|
||||||
<!ENTITY iproute2-fin-sbu "0.1 SBU">
|
<!ENTITY iproute2-fin-sbu "0.1 SBU">
|
||||||
@ -439,14 +439,22 @@
|
|||||||
<!ENTITY libtool-fin-du "44 MB">
|
<!ENTITY libtool-fin-du "44 MB">
|
||||||
<!ENTITY libtool-fin-sbu "1.4 SBU">
|
<!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/v&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-major-version "6">
|
||||||
<!ENTITY linux-minor-version "3">
|
<!ENTITY linux-minor-version "4">
|
||||||
<!ENTITY linux-patch-version "10">
|
<!ENTITY linux-patch-version "1">
|
||||||
<!--<!ENTITY linux-version "&linux-major-version;.&linux-minor-version;">-->
|
<!--<!ENTITY linux-version "&linux-major-version;.&linux-minor-version;">-->
|
||||||
<!ENTITY linux-version "&linux-major-version;.&linux-minor-version;.&linux-patch-version;">
|
<!ENTITY linux-version "&linux-major-version;.&linux-minor-version;.&linux-patch-version;">
|
||||||
<!ENTITY linux-size "133,750 KB">
|
<!ENTITY linux-size "134,584 KB">
|
||||||
<!ENTITY linux-url "&kernel;linux/kernel/v&linux-major-version;.x/linux-&linux-version;.tar.xz">
|
<!ENTITY linux-url "&kernel;linux/kernel/v&linux-major-version;.x/linux-&linux-version;.tar.xz">
|
||||||
<!ENTITY linux-md5 "c3c1d7ab7644ad3d3ad10919c679243f">
|
<!ENTITY linux-md5 "ab345e1ea1c103c311248f078d92a160">
|
||||||
<!ENTITY linux-home "https://www.kernel.org/">
|
<!ENTITY linux-home "https://www.kernel.org/">
|
||||||
<!-- measured for 5.13.4 / gcc-11.1.0 on x86_64 : minimum is
|
<!-- measured for 5.13.4 / gcc-11.1.0 on x86_64 : minimum is
|
||||||
allnoconfig rounded down to allow for ongoing cleanups,
|
allnoconfig rounded down to allow for ongoing cleanups,
|
||||||
@ -577,7 +585,7 @@
|
|||||||
|
|
||||||
<!ENTITY pkgconf-version "1.9.5">
|
<!ENTITY pkgconf-version "1.9.5">
|
||||||
<!ENTITY pkgconf-size "304 KB">
|
<!ENTITY pkgconf-size "304 KB">
|
||||||
<!ENTITY pkgconf-url "https://gentoo.osuosl.org/distfiles/pkgconf-&pkgconf-version;.tar.xz">
|
<!ENTITY pkgconf-url "https://distfiles.ariadne.space/pkgconf/pkgconf-&pkgconf-version;.tar.xz">
|
||||||
<!ENTITY pkgconf-md5 "0a8b69723bef4ebad83e9c8b43a75cc7">
|
<!ENTITY pkgconf-md5 "0a8b69723bef4ebad83e9c8b43a75cc7">
|
||||||
<!ENTITY pkgconf-home "http://pkgconf.org/">
|
<!ENTITY pkgconf-home "http://pkgconf.org/">
|
||||||
<!ENTITY pkgconf-fin-du "8.1 MB">
|
<!ENTITY pkgconf-fin-du "8.1 MB">
|
||||||
|
@ -373,6 +373,17 @@
|
|||||||
suites in other LFS packages.</para>
|
suites in other LFS packages.</para>
|
||||||
</listitem>
|
</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>
|
<listitem>
|
||||||
<para>Linux Kernel</para>
|
<para>Linux Kernel</para>
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user