Merge & fix conflicts

This commit is contained in:
Thomas Trepl 2022-11-23 10:45:41 +00:00
commit f0cbef54b1
12 changed files with 188 additions and 130 deletions

View File

@ -39,7 +39,41 @@
<listitem revision="sysv"> or <listitem revision="systemd"> as <listitem revision="sysv"> or <listitem revision="systemd"> as
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 revision="systemd"> <listitem>
<para>2022-11-22</para>
<itemizedlist>
<listitem>
<para>[xry111] - Update to linux-6.0.9. Fixes
<ulink url="&lfs-ticket-root;5162">#5162</ulink>.</para>
</listitem>
<listitem>
<para>[xry111] - Update to libpipeline-1.5.7. Fixes
<ulink url="&lfs-ticket-root;5163">#5163</ulink>.</para>
</listitem>
<listitem>
<para>[xry111] - Update to xz-5.2.8. Fixes
<ulink url="&lfs-ticket-root;5164">#5164</ulink>.</para>
</listitem>
<listitem>
<para>[xry111] - Update to man-db-2.11.1. Fixes
<ulink url="&lfs-ticket-root;5166">#5166</ulink>.</para>
</listitem>
<listitem>
<para>[xry111] - Update to mpfr-4.1.1. Fixes
<ulink url="&lfs-ticket-root;5167">#5167</ulink>.</para>
</listitem>
<listitem>
<para>[xry111] - Stop disabling decimal float for temporary GCC,
so mpfr will be built with decimal float support.</para>
</listitem>
<listitem>
<para>[xry111] - Update instruction for wheel to avoid relying on
deprecated Python features.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>2022-11-10</para> <para>2022-11-10</para>
<itemizedlist> <itemizedlist>
<listitem> <listitem>

View File

@ -100,7 +100,6 @@ cd build</userinput></screen>
--disable-nls \ --disable-nls \
--disable-shared \ --disable-shared \
--disable-multilib \ --disable-multilib \
--disable-decimal-float \
--disable-threads \ --disable-threads \
--disable-libatomic \ --disable-libatomic \
--disable-libgomp \ --disable-libgomp \
@ -208,15 +207,15 @@ cd build</userinput></screen>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term><parameter>--disable-decimal-float, --disable-threads, <term><parameter>--disable-threads,
--disable-libatomic, --disable-libgomp, --disable-libatomic, --disable-libgomp,
--disable-libquadmath, --disable-libssp, --disable-libvtv, --disable-libquadmath, --disable-libssp, --disable-libvtv,
--disable-libstdcxx</parameter></term> --disable-libstdcxx</parameter></term>
<listitem> <listitem>
<para>These switches disable support for the decimal floating point <para>These switches disable support for
extension, threading, libatomic, libgomp, libquadmath, libssp, threading, libatomic, libgomp, libquadmath, libssp,
libvtv, and the C++ standard library respectively. These features libvtv, and the C++ standard library respectively. These features
will fail to compile when building a cross-compiler and are not may fail to compile when building a cross-compiler and are not
necessary for the task of cross-compiling the temporary libc.</para> necessary for the task of cross-compiling the temporary libc.</para>
</listitem> </listitem>
</varlistentry> </varlistentry>

View File

@ -101,7 +101,6 @@ cd build</userinput></screen>
--enable-default-ssp \ --enable-default-ssp \
--disable-nls \ --disable-nls \
--disable-multilib \ --disable-multilib \
--disable-decimal-float \
--disable-libatomic \ --disable-libatomic \
--disable-libgomp \ --disable-libgomp \
--disable-libquadmath \ --disable-libquadmath \

View File

@ -24,7 +24,7 @@
<title/> <title/>
<para>The Acl package contains utilities to administer Access Control Lists, <para>The Acl package contains utilities to administer Access Control Lists,
which are used to define more fine-grained discretionary access rights for which are used to define fine-grained discretionary access rights for
files and directories.</para> files and directories.</para>
<segmentedlist> <segmentedlist>
@ -52,11 +52,11 @@
<screen><userinput remap="make">make</userinput></screen> <screen><userinput remap="make">make</userinput></screen>
<para>The Acl tests need to be run on a filesystem that supports access <para>The Acl tests must be run on a filesystem that supports access
controls after <application>Coreutils</application> has been built with the controls, but not until the <application>Coreutils</application> package has been built,
Acl libraries. If desired, return to this package and run <command>make using the <application>Acl</application> libraries. If desired, return to this package
check</command> after <application>Coreutils</application> has been built and run <command>make check</command> after the <application>Coreutils</application>
later in this chapter.</para> package has been built.</para>
<para>Install the package:</para> <para>Install the package:</para>

View File

@ -23,8 +23,8 @@
<sect2 role="package"> <sect2 role="package">
<title/> <title/>
<para>The attr package contains utilities to administer the extended <para>The Attr package contains utilities to administer the extended
attributes on filesystem objects.</para> attributes of filesystem objects.</para>
<segmentedlist> <segmentedlist>
<segtitle>&buildtime;</segtitle> <segtitle>&buildtime;</segtitle>
@ -52,7 +52,7 @@
<screen><userinput remap="make">make</userinput></screen> <screen><userinput remap="make">make</userinput></screen>
<para>The tests need to be run on a filesystem that supports extended <para>The tests must be run on a filesystem that supports extended
attributes such as the ext2, ext3, or ext4 filesystems. attributes such as the ext2, ext3, or ext4 filesystems.
To test the results, issue:</para> To test the results, issue:</para>

View File

@ -128,11 +128,10 @@ FORCE_UNSAFE_CONFIGURE=1 ./configure \
<screen><userinput remap="test">su tester -c "PATH=$PATH make RUN_EXPENSIVE_TESTS=yes check"</userinput></screen> <screen><userinput remap="test">su tester -c "PATH=$PATH make RUN_EXPENSIVE_TESTS=yes check"</userinput></screen>
<!-- test-getlogin is now skipped <!-- Sometimes skipped, but if not it may fail.
<para>The test-getlogin test is known to fail in the LFS chroot environment.</para> Please DO NOT remove or comment out this unless we can fully
--> understand it! -->
<!-- should be fixed at next release, coreutils-9.2 --> <para>The test-getlogin test may fail in the LFS chroot environment.</para>
<para>The sort-NaN-infloop test is known to fail with GCC-12.</para>
<para>Remove the temporary group:</para> <para>Remove the temporary group:</para>

View File

@ -100,8 +100,8 @@ cd build</userinput></screen>
--disable-bootstrap \ --disable-bootstrap \
--with-system-zlib</userinput></screen> --with-system-zlib</userinput></screen>
<para>Note that for other programming languages there are some prerequisites that <para>GCC supports seven different computer languages, but the
are not yet available. See the prerequisites for most of them have not yet been installed. See the
<ulink url="&blfs-book;general/gcc.html">BLFS Book GCC page</ulink> <ulink url="&blfs-book;general/gcc.html">BLFS Book GCC page</ulink>
for instructions on how to build all of GCC's supported languages.</para> for instructions on how to build all of GCC's supported languages.</para>
@ -111,8 +111,8 @@ cd build</userinput></screen>
<varlistentry> <varlistentry>
<term><parameter>LD=ld</parameter></term> <term><parameter>LD=ld</parameter></term>
<listitem> <listitem>
<para>This parameter makes the configure script use the ld installed <para>This parameter makes the configure script use the ld program installed
by the binutils built earlier in this chapter, rather than by the Binutils package built earlier in this chapter, rather than
the cross-built version which would otherwise be used.</para> the cross-built version which would otherwise be used.</para>
</listitem> </listitem>
</varlistentry> </varlistentry>
@ -121,7 +121,7 @@ cd build</userinput></screen>
<term><parameter>--with-system-zlib</parameter></term> <term><parameter>--with-system-zlib</parameter></term>
<listitem> <listitem>
<para>This switch tells GCC to link to the system installed copy of <para>This switch tells GCC to link to the system installed copy of
the zlib library, rather than its own internal copy.</para> the Zlib library, rather than its own internal copy.</para>
</listitem> </listitem>
</varlistentry> </varlistentry>
</variablelist> </variablelist>
@ -129,21 +129,21 @@ cd build</userinput></screen>
<note> <note>
<anchor id="pie-ssp-info" xreflabel="note on PIE and SSP"/> <anchor id="pie-ssp-info" xreflabel="note on PIE and SSP"/>
<para> <para>
PIE (position-independent executable) is a technique to produce PIE (position-independent executables) are
binary programs that can be loaded anywhere in memory. Without PIE, binary programs that can be loaded anywhere in memory. Without PIE,
the security feature named ASLR (Address Space Layout Randomization) the security feature named ASLR (Address Space Layout Randomization)
can be applied for the shared libraries, but not the executable can be applied for the shared libraries, but not for the executables
itself. Enabling PIE allows ASLR for the executables in addition to themselves. Enabling PIE allows ASLR for the executables in addition to
the shared libraries, and mitigates some attacks based on fixed the shared libraries, and mitigates some attacks based on fixed
addresses of sensitive code or data in the executables. addresses of sensitive code or data in the executables.
</para> </para>
<para> <para>
SSP (Stack Smashing Protection) is a technique to ensure SSP (Stack Smashing Protection) is a technique to ensure
that the parameter stack is not corrupted. Stack corruption can that the parameter stack is not corrupted. Stack corruption can,
for example alter the return address of a subroutine, for example, alter the return address of a subroutine,
which would allow transferring control to some dangerous code thus transferring control to some dangerous code
(existing in the program or shared libraries, or injected by the (existing in the program or shared libraries, or injected by the
attacker somehow) instead of the original one. attacker somehow).
</para> </para>
</note> </note>
@ -153,10 +153,10 @@ cd build</userinput></screen>
<important> <important>
<para>In this section, the test suite for GCC is considered <para>In this section, the test suite for GCC is considered
important, but it takes a long time. First time builders are important, but it takes a long time. First-time builders are
encouraged to not skip it. The time to run the tests can be encouraged to run the test suite. The time to run the tests can be
reduced significantly by adding -jx to the make command below reduced significantly by adding -jx to the <command>make -k check</command> command below,
where x is the number of cores on your system.</para> where x is the number of CPU cores on your system.</para>
</important> </important>
<para>One set of tests in the GCC test suite is known to exhaust the default <para>One set of tests in the GCC test suite is known to exhaust the default
@ -169,23 +169,23 @@ cd build</userinput></screen>
<screen><userinput remap="test">chown -Rv tester . <screen><userinput remap="test">chown -Rv tester .
su tester -c "PATH=$PATH make -k check"</userinput></screen> su tester -c "PATH=$PATH make -k check"</userinput></screen>
<para>To receive a summary of the test suite results, run:</para> <para>To extract a summary of the test suite results, run:</para>
<screen><userinput remap="test">../contrib/test_summary</userinput></screen> <screen><userinput remap="test">../contrib/test_summary</userinput></screen>
<para>For only the summaries, pipe the output through <para>To filter out only the summaries, pipe the output through
<userinput>grep -A7 Summ</userinput>.</para> <userinput>grep -A7 Summ</userinput>.</para>
<para>Results can be compared with those located at <ulink <para>Results can be compared with those located at <ulink
url="&test-results;"/> and url="&test-results;"/> and
<ulink url="https://gcc.gnu.org/ml/gcc-testresults/"/>.</para> <ulink url="https://gcc.gnu.org/ml/gcc-testresults/"/>.</para>
<para>In gcc, eleven tests, in the i386 test suite are known to FAIL. <para>Eleven tests in the i386 test suite for the gcc compiler are known to FAIL.
It's because the test files do not account for the It's because the test files do not account for the
<parameter>--enable-default-pie</parameter> option.</para> <parameter>--enable-default-pie</parameter> option.</para>
<para>In g++, four tests related to PR100400 are known to be reported <para>Four tests related to PR100400 may be reported
as both XPASS and FAIL. It's because the test file for this known issue as both XPASS and FAIL when testing the g++ compiler; the test file
is not well written.</para> is not well written.</para>
<para>A few unexpected failures cannot always be avoided. The GCC developers <para>A few unexpected failures cannot always be avoided. The GCC developers
@ -207,8 +207,8 @@ su tester -c "PATH=$PATH make -k check"</userinput></screen>
<screen><userinput remap="install">make install</userinput></screen> <screen><userinput remap="install">make install</userinput></screen>
<para>The GCC build directory is owned by <systemitem class="username"> <para>The GCC build directory is owned by <systemitem class="username">
tester</systemitem> now and the ownership of the installed header tester</systemitem> now, and the ownership of the installed header
directory (and its content) will be incorrect. Change the ownership to directory (and its content) is incorrect. Change the ownership to the
<systemitem class="username">root</systemitem> user and group:</para> <systemitem class="username">root</systemitem> user and group:</para>
<screen><userinput remap="install">chown -v -R root:root \ <screen><userinput remap="install">chown -v -R root:root \
@ -294,7 +294,7 @@ SEARCH_DIR("/usr/local/lib")
SEARCH_DIR("/lib") SEARCH_DIR("/lib")
SEARCH_DIR("/usr/lib");</computeroutput></screen> SEARCH_DIR("/usr/lib");</computeroutput></screen>
<para arch="default">A 32-bit system may see a few different directories. For example, here <para arch="default">A 32-bit system may use a few other directories. For example, here
is the output from an i686 machine:</para> is the output from an i686 machine:</para>
<!-- not using entities here as the dir names has nothing to do with multilib --> <!-- not using entities here as the dir names has nothing to do with multilib -->
@ -328,7 +328,7 @@ SEARCH_DIR("/usr/lib");</computeroutput></screen>
at all, then something is seriously wrong. Investigate and retrace the at all, then something is seriously wrong. Investigate and retrace the
steps to find out where the problem is and correct it. <!--The most likely steps to find out where the problem is and correct it. <!--The most likely
reason is that something went wrong with the specs file adjustment.--> Any reason is that something went wrong with the specs file adjustment.--> Any
issues will need to be resolved before continuing with the process.</para> issues should be resolved before continuing with the process.</para>
<para>Once everything is working correctly, clean up the test files:</para> <para>Once everything is working correctly, clean up the test files:</para>
@ -395,7 +395,7 @@ mv -v /usr/lib/*gdb.py /usr/share/gdb/auto-load/usr/lib</userinput></screen>
<term><command>cpp</command></term> <term><command>cpp</command></term>
<listitem> <listitem>
<para>The C preprocessor; it is used by the compiler to expand the <para>The C preprocessor; it is used by the compiler to expand the
#include, #define, and similar statements in the source files</para> #include, #define, and similar directives in the source files</para>
<indexterm zone="ch-system-gcc cpp"> <indexterm zone="ch-system-gcc cpp">
<primary sortas="b-cpp">cpp</primary> <primary sortas="b-cpp">cpp</primary>
</indexterm> </indexterm>
@ -428,7 +428,7 @@ mv -v /usr/lib/*gdb.py /usr/share/gdb/auto-load/usr/lib</userinput></screen>
<para>A wrapper around <command>ar</command> that adds a <para>A wrapper around <command>ar</command> that adds a
plugin to the command line. This program is only used plugin to the command line. This program is only used
to add "link time optimization" and is not useful with the to add "link time optimization" and is not useful with the
default build options</para> default build options.</para>
<indexterm zone="ch-system-gcc gcc-ar"> <indexterm zone="ch-system-gcc gcc-ar">
<primary sortas="b-gcc-ar">gc-ar</primary> <primary sortas="b-gcc-ar">gc-ar</primary>
</indexterm> </indexterm>
@ -441,7 +441,7 @@ mv -v /usr/lib/*gdb.py /usr/share/gdb/auto-load/usr/lib</userinput></screen>
<para>A wrapper around <command>nm</command> that adds a <para>A wrapper around <command>nm</command> that adds a
plugin to the command line. This program is only used plugin to the command line. This program is only used
to add "link time optimization" and is not useful with the to add "link time optimization" and is not useful with the
default build options</para> default build options.</para>
<indexterm zone="ch-system-gcc gcc-nm"> <indexterm zone="ch-system-gcc gcc-nm">
<primary sortas="b-gcc-nm">gc-nm</primary> <primary sortas="b-gcc-nm">gc-nm</primary>
</indexterm> </indexterm>
@ -454,7 +454,7 @@ mv -v /usr/lib/*gdb.py /usr/share/gdb/auto-load/usr/lib</userinput></screen>
<para>A wrapper around <command>ranlib</command> that adds a <para>A wrapper around <command>ranlib</command> that adds a
plugin to the command line. This program is only used plugin to the command line. This program is only used
to add "link time optimization" and is not useful with the to add "link time optimization" and is not useful with the
default build options</para> default build options.</para>
<indexterm zone="ch-system-gcc gcc-ranlib"> <indexterm zone="ch-system-gcc gcc-ranlib">
<primary sortas="b-gcc-ranlib">gc-ranlib</primary> <primary sortas="b-gcc-ranlib">gc-ranlib</primary>
</indexterm> </indexterm>
@ -465,7 +465,7 @@ mv -v /usr/lib/*gdb.py /usr/share/gdb/auto-load/usr/lib</userinput></screen>
<term><command>gcov</command></term> <term><command>gcov</command></term>
<listitem> <listitem>
<para>A coverage testing tool; it is used to analyze programs to <para>A coverage testing tool; it is used to analyze programs to
determine where optimizations will have the most effect</para> determine where optimizations will have the greatest effect</para>
<indexterm zone="ch-system-gcc gcov"> <indexterm zone="ch-system-gcc gcov">
<primary sortas="b-gcov">gcov</primary> <primary sortas="b-gcov">gcov</primary>
</indexterm> </indexterm>
@ -588,7 +588,7 @@ mv -v /usr/lib/*gdb.py /usr/share/gdb/auto-load/usr/lib</userinput></screen>
<varlistentry id="liblto_plugin"> <varlistentry id="liblto_plugin">
<term><filename class="libraryfile">liblto_plugin</filename></term> <term><filename class="libraryfile">liblto_plugin</filename></term>
<listitem> <listitem>
<para>GCC's LTO plugin allows binutils to process object files <para>GCC's LTO plugin allows Binutils to process object files
produced by GCC with LTO enabled</para> produced by GCC with LTO enabled</para>
<indexterm zone="ch-system-gcc liblto_plugin"> <indexterm zone="ch-system-gcc liblto_plugin">
<primary sortas="c-liblto_plugin">liblto_plugin</primary> <primary sortas="c-liblto_plugin">liblto_plugin</primary>
@ -610,8 +610,8 @@ mv -v /usr/lib/*gdb.py /usr/share/gdb/auto-load/usr/lib</userinput></screen>
<term><filename class="libraryfile">libssp</filename></term> <term><filename class="libraryfile">libssp</filename></term>
<listitem> <listitem>
<para>Contains routines supporting GCC's stack-smashing protection <para>Contains routines supporting GCC's stack-smashing protection
functionality. Normally it's unused because glibc also provides functionality. Normally it is not used, because Glibc also provides
those routines</para> those routines.</para>
<indexterm zone="ch-system-gcc libssp"> <indexterm zone="ch-system-gcc libssp">
<primary sortas="c-libssp">libssp</primary> <primary sortas="c-libssp">libssp</primary>
</indexterm> </indexterm>

View File

@ -23,9 +23,9 @@
<sect2 role="package"> <sect2 role="package">
<title/> <title/>
<para>The Libcap package implements the user-space interfaces to the POSIX <para>The Libcap package implements the user-space interface to the POSIX
1003.1e capabilities available in Linux kernels. These capabilities are a 1003.1e capabilities available in Linux kernels. These capabilities
partitioning of the all powerful root privilege into a set of distinct partition the all-powerful root privilege into a set of distinct
privileges.</para> privileges.</para>
<segmentedlist> <segmentedlist>
@ -166,7 +166,7 @@ rm -rf DESTDIR</userinput></screen>
<varlistentry id="getpcaps"> <varlistentry id="getpcaps">
<term><command>getpcaps</command></term> <term><command>getpcaps</command></term>
<listitem> <listitem>
<para>Displays the capabilities on the queried process(es)</para> <para>Displays the capabilities of the queried process(es)</para>
<indexterm zone="ch-system-libcap getpcaps"> <indexterm zone="ch-system-libcap getpcaps">
<primary sortas="b-getpcaps">getpcaps</primary> <primary sortas="b-getpcaps">getpcaps</primary>
</indexterm> </indexterm>

View File

@ -58,7 +58,7 @@ make html</userinput></screen>
Do not skip it under any circumstances.</para> Do not skip it under any circumstances.</para>
</important> </important>
<para>Test the results and ensure that all tests passed:</para> <para>Test the results and ensure that all 183 tests passed:</para>
<screen><userinput remap="test">make check</userinput></screen> <screen><userinput remap="test">make check</userinput></screen>

View File

@ -66,16 +66,16 @@ find man -name Makefile.in -exec sed -i 's/passwd\.5 / /' {} \;</userinput></s
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,
get rid of <filename class="directory">/bin</filename> and remove <filename class="directory">/bin</filename> and
<filename class="directory">/sbin</filename> from <envar>PATH</envar>, <filename class="directory">/sbin</filename> from the <envar>PATH</envar>,
since they are simply symlinks to their counterpart in since they are simply symlinks to their counterparts in
<filename class="directory">/usr</filename>.</para> <filename class="directory">/usr</filename>.</para>
<note> <note>
<para>If <filename class="directory">/bin</filename> and/or <para>If you wish to include <filename class="directory">/bin</filename>
<filename class="directory">/sbin</filename> are preferred to be and/or <filename class="directory">/sbin</filename> in the <envar>PATH</envar>
left over in <envar>PATH</envar> for some reason, modify for some reason, modify the
<envar>PATH</envar> in <filename>.bashrc</filename> after LFS is <envar>PATH</envar> in <filename>.bashrc</filename> after LFS has been
built.</para> built.</para>
</note> </note>
@ -85,7 +85,7 @@ find man -name Makefile.in -exec sed -i 's/passwd\.5 / /' {} \;</userinput></s
-i etc/login.defs</userinput></screen> -i etc/login.defs</userinput></screen>
<note> <note>
<para>If you chose to build Shadow with Cracklib support, run the following:</para> <para>If you chose to build Shadow with Cracklib support, issue this command:</para>
<screen role="nodump"><userinput>sed -i 's:DICTPATH.*:DICTPATH\t/lib/cracklib/pw_dict:' etc/login.defs</userinput></screen> <screen role="nodump"><userinput>sed -i 's:DICTPATH.*:DICTPATH\t/lib/cracklib/pw_dict:' etc/login.defs</userinput></screen>
</note> </note>
@ -108,21 +108,22 @@ find man -name Makefile.in -exec sed -i 's/passwd\.5 / /' {} \;</userinput></s
--with-group-name-max-length=32</userinput></screen> --with-group-name-max-length=32</userinput></screen>
<variablelist> <variablelist>
<title>The meaning of the configure option:</title> <title>The meaning of the new configuration options:</title>
<varlistentry> <varlistentry>
<term><command>touch /usr/bin/passwd</command></term> <term><command>touch /usr/bin/passwd</command></term>
<listitem> <listitem>
<para>The file <filename>/usr/bin/passwd</filename> needs <para>The file <filename>/usr/bin/passwd</filename> needs
to exist because its location is hardcoded in some programs, and to exist because its location is hardcoded in some programs;
if it does not exist, the default location is not right.</para> if it does not already exist, the installation script will
create it in the wrong place.</para>
</listitem> </listitem>
</varlistentry> </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>
<para>The maximum user name is 32 characters. Make the maximum <para>The longest permissible user name is 32 characters. Make the maximum
group name the same.</para> length of a group name the same.</para>
</listitem> </listitem>
</varlistentry> </varlistentry>
@ -153,9 +154,9 @@ make -C man install-man</userinput></screen>
groups; set and change their passwords; and perform other administrative groups; set and change their passwords; and perform other administrative
tasks. For a full explanation of what <emphasis>password shadowing</emphasis> tasks. For a full explanation of what <emphasis>password shadowing</emphasis>
means, see the <filename>doc/HOWTO</filename> file within the unpacked means, see the <filename>doc/HOWTO</filename> file within the unpacked
source tree. If using Shadow support, keep in mind that programs which need source tree. If you use Shadow support, keep in mind that programs which need
to verify passwords (display managers, FTP programs, pop3 daemons, etc.) to verify passwords (display managers, FTP programs, pop3 daemons, etc.)
must be Shadow-compliant. That is, they need to be able to work with must be Shadow-compliant. That is, they must be able to work with
shadowed passwords.</para> shadowed passwords.</para>
<para>To enable shadowed passwords, run the following command:</para> <para>To enable shadowed passwords, run the following command:</para>
@ -167,44 +168,44 @@ make -C man install-man</userinput></screen>
<screen><userinput>grpconv</userinput></screen> <screen><userinput>grpconv</userinput></screen>
<para>Shadow's default configuration for the <command>useradd</command> <para>Shadow's default configuration for the <command>useradd</command>
utility has a few caveats that need some explanation. First, the default utility needs some explanation. First, the default
action for the <command>useradd</command> utility is to create the user and action for the <command>useradd</command> utility is to create the user and
a group of the same name as the user. By default the user ID (UID) and a group with the same name as the user. By default the user ID (UID) and
group ID (GID) numbers will begin with 1000. This means if you don't pass group ID (GID) numbers will begin at 1000. This means if you don't pass
parameters to <command>useradd</command>, each user will be a member of a extra parameters to <command>useradd</command>, each user will be a member of a
unique group on the system. If this behavior is undesirable, you'll need unique group on the system. If this behavior is undesirable, you'll need
to pass one of the <parameter>-g</parameter> or <parameter>-N</parameter> to pass either the <parameter>-g</parameter> or <parameter>-N</parameter>
parameter to <command>useradd</command> or to change the setting of parameter to <command>useradd</command>, or else change the setting of
<parameter>USERGROUPS_ENAB</parameter> in <parameter>USERGROUPS_ENAB</parameter> in
<filename>/etc/login.defs</filename>. See <filename>useradd(8)</filename> <filename>/etc/login.defs</filename>. See <filename>useradd(8)</filename>
for more information.</para> for more information.</para>
<para>Second, to change the default parameters, the file <para>Second, to change the default parameters, the file
<filename>/etc/default/useradd</filename> needs to be created and tailored <filename>/etc/default/useradd</filename> must be created and tailored
to suit your particular needs. Create it with:</para> to suit your particular needs. Create it with:</para>
<screen><userinput>mkdir -p /etc/default <screen><userinput>mkdir -p /etc/default
useradd -D --gid 999</userinput></screen> useradd -D --gid 999</userinput></screen>
<variablelist> <variablelist>
<title><filename>/etc/default/useradd</filename> Parameter Explanations</title> <title><filename>/etc/default/useradd</filename> parameter explanations</title>
<varlistentry> <varlistentry>
<term><parameter>GROUP=999</parameter></term> <term><parameter>GROUP=999</parameter></term>
<listitem> <listitem>
<para>This parameter sets the beginning of the group numbers used in <para>This parameter sets the beginning of the group numbers used in
the <filename>/etc/group</filename> file. The particular value 999 the <filename>/etc/group</filename> file. The particular value 999
comes from the <parameter>--gid</parameter> parameter above. You can comes from the <parameter>--gid</parameter> parameter above. You
modify it to anything you desire. may set it to any desired value.
Note that <command>useradd</command> will never reuse a UID or GID. Note that <command>useradd</command> will never reuse a UID or GID.
If the number identified in this parameter is used, it will use the If the number identified in this parameter is used, it will use the
next available number. Note also that if you don't have a group with next available number. Note also that if you don't have a group with
an ID equal to this number on your system the first time you use an ID equal to this number on your system, then the first time you use
<command>useradd</command> without the <parameter>-g</parameter> <command>useradd</command> without the <parameter>-g</parameter>
parameter, you will get a message displayed on the terminal that parameter, an error message will be generated&mdash;<computeroutput>useradd:
says: <computeroutput>useradd: unknown GID 999</computeroutput>, unknown GID 999</computeroutput>,
although the account is correctly created. That is why we have even though the account has been created correctly. That is why we
created the group <systemitem class="groupname">users</systemitem> created the group <systemitem class="groupname">users</systemitem>
with this group ID in <xref linkend='ch-tools-createfiles'/>.</para> with this group ID in <xref linkend='ch-tools-createfiles'/>.</para>
@ -214,12 +215,11 @@ useradd -D --gid 999</userinput></screen>
<term><parameter>CREATE_MAIL_SPOOL=yes</parameter></term> <term><parameter>CREATE_MAIL_SPOOL=yes</parameter></term>
<listitem> <listitem>
<para>This parameter causes <command>useradd</command> to create a <para>This parameter causes <command>useradd</command> to create a
mailbox file for the newly created user. <command>useradd</command> mailbox file for each new user. <command>useradd</command>
will make the group ownership of this file to the will assign the group ownership of this file to the
<systemitem class="groupname">mail</systemitem> group with 0660 <systemitem class="groupname">mail</systemitem> group with 0660
permissions. If you would prefer that these mailbox files are not permissions. If you would rather not create these files,
created by <command>useradd</command>, issue the following issue the following command:</para>
command:</para>
<screen><userinput>sed -i '/MAIL/s/yes/no/' /etc/default/useradd</userinput></screen> <screen><userinput>sed -i '/MAIL/s/yes/no/' /etc/default/useradd</userinput></screen>
</listitem> </listitem>
@ -230,7 +230,7 @@ useradd -D --gid 999</userinput></screen>
</sect2> </sect2>
<sect2 role="configuration"> <sect2 role="configuration">
<title>Setting the root password</title> <title>Setting the Root Password</title>
<para>Choose a password for user <emphasis>root</emphasis> and set it <para>Choose a password for user <emphasis>root</emphasis> and set it
by running:</para> by running:</para>
@ -329,7 +329,7 @@ useradd -D --gid 999</userinput></screen>
<term><command>faillog</command></term> <term><command>faillog</command></term>
<listitem> <listitem>
<para>Is used to examine the log of login failures, to set a maximum <para>Is used to examine the log of login failures, to set a maximum
number of failures before an account is blocked, or to reset the number of failures before an account is blocked, and to reset the
failure count</para> failure count</para>
<indexterm zone="ch-system-shadow faillog"> <indexterm zone="ch-system-shadow faillog">
<primary sortas="b-faillog">faillog</primary> <primary sortas="b-faillog">faillog</primary>
@ -509,9 +509,8 @@ useradd -D --gid 999</userinput></screen>
<varlistentry id="nologin"> <varlistentry id="nologin">
<term><command>nologin</command></term> <term><command>nologin</command></term>
<listitem> <listitem>
<para>Displays a message that an account is not available; it is designed <para>Displays a message saying an account is not available; it is designed
to be used as the default shell for accounts that have been to be used as the default shell for disabled accounts</para>
disabled</para>
<indexterm zone="ch-system-shadow nologin"> <indexterm zone="ch-system-shadow nologin">
<primary sortas="b-nologin">nologin</primary> <primary sortas="b-nologin">nologin</primary>
</indexterm> </indexterm>
@ -597,7 +596,7 @@ useradd -D --gid 999</userinput></screen>
<varlistentry id="userdel"> <varlistentry id="userdel">
<term><command>userdel</command></term> <term><command>userdel</command></term>
<listitem> <listitem>
<para>Deletes the given user account</para> <para>Deletes the specified user account</para>
<indexterm zone="ch-system-shadow userdel"> <indexterm zone="ch-system-shadow userdel">
<primary sortas="b-userdel">userdel</primary> <primary sortas="b-userdel">userdel</primary>
</indexterm> </indexterm>
@ -607,8 +606,8 @@ useradd -D --gid 999</userinput></screen>
<varlistentry id="usermod"> <varlistentry id="usermod">
<term><command>usermod</command></term> <term><command>usermod</command></term>
<listitem> <listitem>
<para>Is used to modify the given user's login name, User <para>Is used to modify the given user's login name, user
Identification (UID), shell, initial group, home directory, etc.</para> identification (UID), shell, initial group, home directory, etc.</para>
<indexterm zone="ch-system-shadow usermod"> <indexterm zone="ch-system-shadow usermod">
<primary sortas="b-usermod">usermod</primary> <primary sortas="b-usermod">usermod</primary>
</indexterm> </indexterm>
@ -640,7 +639,7 @@ useradd -D --gid 999</userinput></screen>
<varlistentry id="libsubid"> <varlistentry id="libsubid">
<term><filename class='libraryfile'>libsubid</filename></term> <term><filename class='libraryfile'>libsubid</filename></term>
<listitem> <listitem>
<para>library for process subordinate id ranges for users</para> <para>library to handle subordinate id ranges for users and groups</para>
<indexterm zone="ch-system-shadow libsubid"> <indexterm zone="ch-system-shadow libsubid">
<primary sortas="c-libsubid">libsubid</primary> <primary sortas="c-libsubid">libsubid</primary>
</indexterm> </indexterm>

View File

@ -40,12 +40,39 @@
<sect2 role="installation"> <sect2 role="installation">
<title>Installation of Wheel</title> <title>Installation of Wheel</title>
<para>Compile wheel with the following command:</para>
<screen><userinput remap="make">PYTHONPATH=src pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
<para>Install wheel with the following command:</para> <para>Install wheel with the following command:</para>
<screen><userinput remap="install">pip3 install --no-index $PWD</userinput></screen> <screen><userinput remap="install">pip3 install --no-index --find-links=dist wheel</userinput></screen>
<variablelist> <variablelist>
<title>The meaning of the pip3 options:</title> <title>The meaning of the pip3 commands:</title>
<varlistentry>
<term><envar>PYTHONPATH=src</envar></term>
<listitem>
<para>Allow using this package (not installed yet) to build a
wheel archive for itself, to avoid a chicken-or-egg problem.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><command>wheel</command></term>
<listitem>
<para>Build wheel archive for this package.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>-w dist</parameter></term>
<listitem>
<para>Put the created wheels into the
<filename class='directory'>dist</filename> directory.</para>
</listitem>
</varlistentry>
<varlistentry> <varlistentry>
<term><command>install</command></term> <term><command>install</command></term>
@ -55,24 +82,25 @@
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term><parameter>--no-index</parameter></term> <term><parameter>--no-build-isolation</parameter>,
<parameter>--no-deps</parameter>, and
<parameter>--no-index</parameter></term>
<listitem> <listitem>
<para>Prevent pip from fetching files from the online package <para>Prevent pip from fetching files from the online package
repository (PyPI). If packages are installed in the correct order, repository (PyPI). If packages are installed in the correct order,
then it won't need to fetch any files in the first place, but this then it won't need to fetch any files in the first place, but these
option adds some safety in case of user error.</para> options add some safety in case of user error.</para>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term><parameter>$PWD</parameter></term> <term><parameter>--find-links dist</parameter></term>
<listitem> <listitem>
<para>Look for files to install in the current working directory.</para> <para>Search wheel archives from the
<filename class='directory'>dist</filename> directory.</para>
</listitem> </listitem>
</varlistentry> </varlistentry>
</variablelist> </variablelist>
</sect2> </sect2>
<sect2 id="contents-wheel" role="content"> <sect2 id="contents-wheel" role="content">
@ -86,7 +114,7 @@
<seg>wheel</seg> <seg>wheel</seg>
<seg> <seg>
/usr/lib/python&python-minor;/site-packages/wheel and /usr/lib/python&python-minor;/site-packages/wheel and
/usr/lib/python&python-minor;/site-packages/wheel-&wheel-version;-py&python-minor;.egg-info /usr/lib/python&python-minor;/site-packages/wheel-&wheel-version;.dist-info
</seg> </seg>
</seglistitem> </seglistitem>
</segmentedlist> </segmentedlist>

View File

@ -415,10 +415,10 @@
<!ENTITY libffi-fin-du "10 MB"> <!ENTITY libffi-fin-du "10 MB">
<!ENTITY libffi-fin-sbu "1.8 SBU"> <!ENTITY libffi-fin-sbu "1.8 SBU">
<!ENTITY libpipeline-version "1.5.6"> <!ENTITY libpipeline-version "1.5.7">
<!ENTITY libpipeline-size "954 KB"> <!ENTITY libpipeline-size "956 KB">
<!ENTITY libpipeline-url "&savannah;/releases/libpipeline/libpipeline-&libpipeline-version;.tar.gz"> <!ENTITY libpipeline-url "&savannah;/releases/libpipeline/libpipeline-&libpipeline-version;.tar.gz">
<!ENTITY libpipeline-md5 "829c9ba46382b0b3e12dd11fcbc1bb27"> <!ENTITY libpipeline-md5 "1a48b5771b9f6c790fb4efdb1ac71342">
<!ENTITY libpipeline-home "https://libpipeline.nongnu.org/"> <!ENTITY libpipeline-home "https://libpipeline.nongnu.org/">
<!ENTITY libpipeline-fin-du "10 MB"> <!ENTITY libpipeline-fin-du "10 MB">
<!ENTITY libpipeline-fin-sbu "0.1 SBU"> <!ENTITY libpipeline-fin-sbu "0.1 SBU">
@ -433,12 +433,12 @@
<!ENTITY linux-major-version "6"> <!ENTITY linux-major-version "6">
<!ENTITY linux-minor-version "0"> <!ENTITY linux-minor-version "0">
<!ENTITY linux-patch-version "7"> <!ENTITY linux-patch-version "9">
<!--<!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 "130,748 KB"> <!ENTITY linux-size "130,776 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 "690e3de421b693bf111ec74a97476ea7"> <!ENTITY linux-md5 "3de364bdbacd2115950cc3dd94157ab6">
<!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,
@ -472,10 +472,10 @@
<!ENTITY make-fin-du "14 MB"> <!ENTITY make-fin-du "14 MB">
<!ENTITY make-fin-sbu "0.5 SBU"> <!ENTITY make-fin-sbu "0.5 SBU">
<!ENTITY man-db-version "2.11.0"> <!ENTITY man-db-version "2.11.1">
<!ENTITY man-db-size "1,879 KB"> <!ENTITY man-db-size "1,904 KB">
<!ENTITY man-db-url "&savannah;/releases/man-db/man-db-&man-db-version;.tar.xz"> <!ENTITY man-db-url "&savannah;/releases/man-db/man-db-&man-db-version;.tar.xz">
<!ENTITY man-db-md5 "ad12e19d4f86d866a3858decf6989746"> <!ENTITY man-db-md5 "88caf8efe127453f9dcb2ff9b2983f59">
<!ENTITY man-db-home "https://www.nongnu.org/man-db/"> <!ENTITY man-db-home "https://www.nongnu.org/man-db/">
<!ENTITY man-db-fin-du "40 MB"> <!ENTITY man-db-fin-du "40 MB">
<!ENTITY man-db-fin-sbu "0.4 SBU"> <!ENTITY man-db-fin-sbu "0.4 SBU">
@ -512,10 +512,10 @@
<!ENTITY mpc-fin-du "21 MB"> <!ENTITY mpc-fin-du "21 MB">
<!ENTITY mpc-fin-sbu "0.3 SBU"> <!ENTITY mpc-fin-sbu "0.3 SBU">
<!ENTITY mpfr-version "4.1.0"> <!ENTITY mpfr-version "4.1.1">
<!ENTITY mpfr-size "1,490 KB"> <!ENTITY mpfr-size "1,400 KB">
<!ENTITY mpfr-url "https://ftp.gnu.org/gnu/mpfr/mpfr-&mpfr-version;.tar.xz"> <!ENTITY mpfr-url "https://ftp.gnu.org/gnu/mpfr/mpfr-&mpfr-version;.tar.xz">
<!ENTITY mpfr-md5 "bdd3d5efba9c17da8d83a35ec552baef"> <!ENTITY mpfr-md5 "d182b62e811f744d149b14540d8e922b">
<!ENTITY mpfr-home "https://www.mpfr.org/"> <!ENTITY mpfr-home "https://www.mpfr.org/">
<!ENTITY mpfr-fin-du "39 MB"> <!ENTITY mpfr-fin-du "39 MB">
<!ENTITY mpfr-fin-sbu "0.8 SBU"> <!ENTITY mpfr-fin-sbu "0.8 SBU">
@ -753,10 +753,10 @@
<!ENTITY xml-parser-fin-du "2.3 MB"> <!ENTITY xml-parser-fin-du "2.3 MB">
<!ENTITY xml-parser-fin-sbu "less than 0.1 SBU"> <!ENTITY xml-parser-fin-sbu "less than 0.1 SBU">
<!ENTITY xz-version "5.2.7"> <!ENTITY xz-version "5.2.8">
<!ENTITY xz-size "1,253 KB"> <!ENTITY xz-size "1,260 KB">
<!ENTITY xz-url "https://tukaani.org/xz/xz-&xz-version;.tar.xz"> <!ENTITY xz-url "https://tukaani.org/xz/xz-&xz-version;.tar.xz">
<!ENTITY xz-md5 "6c130d21e260d4476e971985e7394e83"> <!ENTITY xz-md5 "7cfa6136d984083e7d4da12c8fb083ea">
<!ENTITY xz-home "https://tukaani.org/xz"> <!ENTITY xz-home "https://tukaani.org/xz">
<!ENTITY xz-tmp-du "16 MB"> <!ENTITY xz-tmp-du "16 MB">
<!ENTITY xz-tmp-sbu "0.1 SBU"> <!ENTITY xz-tmp-sbu "0.1 SBU">