Merge remote-tracking branch 'origin/trunk' into xry111/clfs-ng

This commit is contained in:
Xi Ruoyao 2023-04-01 21:06:22 +08:00
commit 39d9ed85db
No known key found for this signature in database
GPG Key ID: ACAAD20E19E710E3
18 changed files with 501 additions and 129 deletions

View File

@ -876,6 +876,48 @@
</seglistitem> </seglistitem>
</segmentedlist> </segmentedlist>
<!-- Begin Flit-core dependency info -->
<bridgehead renderas="sect2" id="flit-core-dep">Flit-Core</bridgehead>
<segmentedlist id="flit-core-depends">
<segtitle>&dependencies;</segtitle>
<seglistitem>
<seg>Python</seg>
</seglistitem>
</segmentedlist>
<segmentedlist id="flit-core-rundeps">
<segtitle>&runtime;</segtitle>
<seglistitem>
<seg>Python</seg>
</seglistitem>
</segmentedlist>
<segmentedlist id="flit-core-testdeps">
<segtitle>&testsuites;</segtitle>
<seglistitem>
<seg>No test suite available</seg>
</seglistitem>
</segmentedlist>
<segmentedlist id="flit-core-before">
<segtitle>&before;</segtitle>
<seglistitem>
<seg>Wheel</seg>
</seglistitem>
</segmentedlist>
<segmentedlist id="flit-core-optdeps">
<segtitle>&external;</segtitle>
<seglistitem>
<seg>
<ulink url='&blfs-book;general/python-modules.html#pytest'>pytest</ulink>
and
<ulink url='&pypi-home;/testpath'>testpath</ulink>
</seg>
</seglistitem>
</segmentedlist>
<!-- Begin Gawk dependency info --> <!-- Begin Gawk dependency info -->
<bridgehead renderas="sect2" id="gawk-dep">Gawk</bridgehead> <bridgehead renderas="sect2" id="gawk-dep">Gawk</bridgehead>
@ -3104,7 +3146,7 @@
<segmentedlist id="wheel-depends"> <segmentedlist id="wheel-depends">
<segtitle>&dependencies;</segtitle> <segtitle>&dependencies;</segtitle>
<seglistitem> <seglistitem>
<seg>Python</seg> <seg>Python and Flit-core</seg>
</seglistitem> </seglistitem>
</segmentedlist> </segmentedlist>
@ -3262,7 +3304,7 @@
<segmentedlist id="zstd-depends"> <segmentedlist id="zstd-depends">
<segtitle>&dependencies;</segtitle> <segtitle>&dependencies;</segtitle>
<seglistitem> <seglistitem>
<seg>Binutils, Coreutils, GCC, Glibc, Gzip, Make, and Xz</seg> <seg>Binutils, Coreutils, GCC, Glibc, Gzip, Make, Xz, and Zlib</seg>
</seglistitem> </seglistitem>
</segmentedlist> </segmentedlist>

View File

@ -39,6 +39,76 @@
<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>
<para>2023-03-31</para>
<itemizedlist>
<listitem>
<para>[xry111] - Update to linux-6.2.9 (security fix). Fixes
<ulink url='&lfs-ticket-root;5230'>#5230</ulink>.</para>
</listitem>
<listitem>
<para>[xry111] - Update to grep-3.10. Fixes
<ulink url='&lfs-ticket-root;5234'>#5234</ulink>.</para>
</listitem>
<listitem>
<para>[xry111] - Update to wheel-0.40.0. Fixes
<ulink url='&lfs-ticket-root;5229'>#5229</ulink>.</para>
</listitem>
<listitem>
<para>[xry111] - Update to bc-6.5.0. Fixes
<ulink url='&lfs-ticket-root;5228'>#5228</ulink>.</para>
</listitem>
<listitem>
<para>[xry111] - Update to texinfo-7.0.3. Fixes
<ulink url='&lfs-ticket-root;5235'>#5235</ulink>.</para>
</listitem>
<listitem>
<para>[xry111] - Update to coreutils-9.2. Fixes
<ulink url='&lfs-ticket-root;5232'>#5232</ulink>.</para>
</listitem>
<listitem>
<para>[xry111] - Update to libcap-2.68. Fixes
<ulink url='&lfs-ticket-root;5236'>#5236</ulink>.</para>
</listitem>
<listitem>
<para>[xry111] - Update to tzdata-2023c. Fixes
<ulink url='&lfs-ticket-root;5237'>#5237</ulink>.</para>
</listitem>
<listitem>
<para>[xry111] - Update to xz-5.4.2. Fixes
<ulink url='&lfs-ticket-root;5233'>#5233</ulink>.</para>
</listitem>
<listitem>
<para>[xry111] - Update to openssl-3.1.0. Fixes
<ulink url='&lfs-ticket-root;5227'>#5227</ulink>.</para>
</listitem>
<listitem>
<para>[xry111] - Add flit-core-3.8.0.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>2023-03-15</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Update to bc-6.4.0. Fixes
<ulink url='&lfs-ticket-root;5217'>#5217</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to grep-3.9. Fixes
<ulink url='&lfs-ticket-root;5225'>#5225</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to linux-6.2.6. Fixes
<ulink url='&lfs-ticket-root;5226'>#5226</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to iana-etc-20230306. Addresses
<ulink url='&lfs-ticket-root;5006'>#5006</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem> <listitem>
<para>2023-03-04</para> <para>2023-03-04</para>
<itemizedlist> <itemizedlist>

View File

@ -18,15 +18,13 @@
during the distribution installation to include these during the distribution installation to include these
tools.</para> tools.</para>
<note><para>There are many ways to install a Linux distribution and
the defaults are usually not optimal for building an LFS system.
For suggestions on setting up a commercial distribution see:
<ulink url="&lfs-root;hints/downloads/files/partitioning-for-lfs.txt"/>.</para></note>
<para>As an alternative to installing a separate distribution on your <para>As an alternative to installing a separate distribution on your
machine, you may wish to use <!-- the Linux From Scratch LiveCD or --> a LiveCD from a machine, you may wish to use a LiveCD from a commercial distribution.</para>
commercial distribution. <!-- The LFS LiveCD works well as a host system,
providing all the tools you need to successfully follow the instructions in
this book. The LiveCD version is behind the current book, but is still useful
as a host for building the current book. The <quote>-nosrc</quote> or
<quote>-min</quote> editions of the LiveCD are the most appropriate for
building a current LFS system. For more information about the LFS LiveCD or
to download a copy, visit <ulink url="&livecd-root;"/>. --></para>
<!-- <!--
<note> <note>

View File

@ -118,9 +118,9 @@
<!--<listitem> <!--<listitem>
<para>Gperf-&gperf-version;</para> <para>Gperf-&gperf-version;</para>
</listitem>--> </listitem>-->
<!--<listitem> <listitem>
<para>Grep-&grep-version;</para> <para>Grep-&grep-version;</para>
</listitem>--> </listitem>
<!--<listitem> <!--<listitem>
<para>Groff-&groff-version;</para> <para>Groff-&groff-version;</para>
</listitem>--> </listitem>-->
@ -130,9 +130,9 @@
<!--<listitem> <!--<listitem>
<para>Gzip-&gzip-version;</para> <para>Gzip-&gzip-version;</para>
</listitem>--> </listitem>-->
<!--<listitem> <listitem>
<para>IANA-Etc-&iana-etc-version;</para> <para>IANA-Etc-&iana-etc-version;</para>
</listitem>--> </listitem>
<!--<listitem> <!--<listitem>
<para>Inetutils-&inetutils-version;</para> <para>Inetutils-&inetutils-version;</para>
</listitem>--> </listitem>-->
@ -292,6 +292,10 @@
<title>Added:</title> <title>Added:</title>
<listitem><para></para></listitem> <!-- satisfy build --> <listitem><para></para></listitem> <!-- satisfy build -->
<listitem>
<para>Flit-core-&flit-core-version;</para>
</listitem>
<!--<listitem> <!--<listitem>
<para>&grub-upstream-fixes-patch;</para> <para>&grub-upstream-fixes-patch;</para>
</listitem>--> </listitem>-->

View File

@ -169,7 +169,7 @@
used, 5 to 10 gigabytes is generally adequate.</para> used, 5 to 10 gigabytes is generally adequate.</para>
</listitem> </listitem>
<listitem revision='sysv'><para>/tmp &ndash; A separate /tmp directory <listitem revision='sysv'><para>/tmp &ndash; A separate /tmp partition
is rare, but useful if configuring a thin client. This partition, if is rare, but useful if configuring a thin client. This partition, if
used, will usually not need to exceed a couple of used, will usually not need to exceed a couple of
gigabytes. If you have enough RAM, you can mount a gigabytes. If you have enough RAM, you can mount a

View File

@ -227,6 +227,15 @@
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry>
<term>Flit-core (&flit-core-version;) - <token>&flit-core-size;</token>:</term>
<listitem>
<para>Home page: <ulink url="&flit-core-home;"/></para>
<para>Download: <ulink url="&flit-core-url;"/></para>
<para>MD5 sum: <literal>&flit-core-md5;</literal></para>
</listitem>
</varlistentry>
<varlistentry> <varlistentry>
<term>Gawk (&gawk-version;) - <token>&gawk-size;</token>:</term> <term>Gawk (&gawk-version;) - <token>&gawk-size;</token>:</term>
<listitem> <listitem>

View File

@ -63,6 +63,7 @@
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="libelf.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="libelf.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="libffi.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="libffi.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="python.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="python.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="flit-core.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="wheel.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="wheel.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="ninja.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="ninja.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="meson.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="meson.xml"/>

View File

@ -53,14 +53,12 @@
those bugs are reproducible without this patch.</para> those bugs are reproducible without this patch.</para>
</note> </note>
<!-- this has been fixed in upstream gnulib, when a new version of <!-- https://bugs.gnu.org/62403 -->
coreutils is released, please check #4055 to see if the change has been <para>Fix a bug in checksum utilities causing failed checks not
picked up in this package --> reported correctly:</para>
<!--
<para>Now, fix a problem with chmod return values:</para> <screen><userinput remap="pre">sed '/if ( ! match/s/ed_checksums//' -i src/digest.c</userinput></screen>
<screen><userinput remap="pre">patch -Np1 -i ../&coreutils-chmod-patch;</userinput></screen>
-->
<para>Now prepare Coreutils for compilation:</para> <para>Now prepare Coreutils for compilation:</para>
<screen><userinput remap="configure">autoreconf -fiv <screen><userinput remap="configure">autoreconf -fiv

115
chapter08/flit-core.xml Normal file
View File

@ -0,0 +1,115 @@
<?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-flit-core" role="wrap">
<?dbhtml filename="flit-core.html"?>
<sect1info condition="script">
<productname>flit-core</productname>
<productnumber>&flit-core-version;</productnumber>
<address>&flit-core-url;</address>
</sect1info>
<title>Flit-Core-&flit-core-version;</title>
<indexterm zone="ch-system-flit-core">
<primary sortas="a-flit-core">Flit-core</primary>
</indexterm>
<sect2 role="package">
<title/>
<para>Flit-core is the distribution-building parts of Flit (a packaging
tool for simple Python modules).</para>
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem>
<seg>&flit-core-fin-sbu;</seg>
<seg>&flit-core-fin-du;</seg>
</seglistitem>
</segmentedlist>
</sect2>
<sect2 role="installation">
<title>Installation of Flit-Core</title>
<para>Build the package:</para>
<screen><userinput remap="install">pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">pip3 install --no-index --no-user --find-links dist flit_core</userinput></screen>
<variablelist>
<title>The meaning of the pip3 configuration options and commands:</title>
<varlistentry>
<term><command>wheel</command></term>
<listitem>
<para>This command builds the wheel archive for this package.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>-w dist</parameter></term>
<listitem>
<para>Instructs pip to put the created wheel into the
<filename class='directory'>dist</filename> directory.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><command>install</command></term>
<listitem>
<para>This command installs the package.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>--no-build-isolation</parameter>,
<parameter>--no-deps</parameter>, and
<parameter>--no-index</parameter></term>
<listitem>
<para>These options prevent fetching files from the online package
repository (PyPI). If packages are installed in the correct order,
pip won't need to fetch any files in the first place; these
options add some safety in case of user error.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>--find-links dist</parameter></term>
<listitem>
<para>Instructs pip to search for wheel archives in the
<filename class='directory'>dist</filename> directory.</para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2 id="contents-flit-core" role="content">
<title>Contents of Flit-Core</title>
<segmentedlist>
<segtitle>Installed directory</segtitle>
<seglistitem>
<seg>
/usr/lib/python&python-minor;/site-packages/flit_core and
/usr/lib/python&python-minor;/site-packages/flit_core-&flit-core-version;.dist-info
</seg>
</seglistitem>
</segmentedlist>
</sect2>
</sect1>

View File

@ -98,6 +98,21 @@ make MANSUFFIX=ssl install</userinput></screen>
number</emphasis>. number</emphasis>.
</para> </para>
<!-- https://bugzilla.mindrot.org/show_bug.cgi?id=3548 -->
<para>
If <application>OpenSSH</application> is installed, it will be an
exception of the general rule above. It contains an
over-restrictive OpenSSL version check, so both SSH client and SSH
server will refuse to start if OpenSSL
is updated with MAJOR version number unchanged but MINOR version
number changed. You need to rebuild
<application>OpenSSH</application> after such an upgrade.
<emphasis role='bold'>If <application>OpenSSH</application> is being
used to access the system, you must rebuild and reinstall it
after upgrading OpenSSL to a new MINOR version number before logout
or you won't be able to login via SSH anymore.</emphasis>
</para>
<para> <para>
However, any running programs linked to those libraries need to be stopped However, any running programs linked to those libraries need to be stopped
and restarted. Read the related entries in and restarted. Read the related entries in

View File

@ -54,10 +54,10 @@
<important> <important>
<para> <para>
If any package of which the version is different from the version If there is any package whose version is different from the version
specified by the book (either following a security advisory or specified by the book (either following a security advisory or
satisfying personal preference), it may be necessary to update the satisfying personal preference), it may be necessary to update the
the library file name in <envar>save_usrlib</envar> or library file name in <envar>save_usrlib</envar> or
<envar>online_usrlib</envar>. <envar>online_usrlib</envar>.
<emphasis role='bold'>Failing to do so may render the system <emphasis role='bold'>Failing to do so may render the system
completely unusable.</emphasis> completely unusable.</emphasis>

View File

@ -985,12 +985,12 @@ su tester -c "make -k check"</userinput></screen>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry id="rkfill"> <varlistentry id="rfkill">
<term><command>rkfill</command></term> <term><command>rfkill</command></term>
<listitem> <listitem>
<para>Tool for enabling and disabling wireless devices</para> <para>Tool for enabling and disabling wireless devices</para>
<indexterm zone="ch-system-util-linux rkfill"> <indexterm zone="ch-system-util-linux rfkill">
<primary sortas="b-rkfill">rkfill</primary> <primary sortas="b-rfkill">rfkill</primary>
</indexterm> </indexterm>
</listitem> </listitem>
</varlistentry> </varlistentry>

View File

@ -42,65 +42,12 @@
<para>Compile Wheel with the following command:</para> <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> <screen><userinput remap="make">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 --find-links=dist wheel</userinput></screen> <screen><userinput remap="install">pip3 install --no-index --find-links=dist wheel</userinput></screen>
<variablelist>
<title>The meaning of the pip3 configuration options and commands:</title>
<varlistentry>
<term><envar>PYTHONPATH=src</envar></term>
<listitem>
<para>Allows 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>This command builds the wheel archive for this package.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>-w dist</parameter></term>
<listitem>
<para>Instructs pip to put the created wheel into the
<filename class='directory'>dist</filename> directory.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><command>install</command></term>
<listitem>
<para>This command installs the package.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>--no-build-isolation</parameter>,
<parameter>--no-deps</parameter>, and
<parameter>--no-index</parameter></term>
<listitem>
<para>These options prevent fetching files from the online package
repository (PyPI). If packages are installed in the correct order,
pip won't need to fetch any files in the first place; these
options add some safety in case of user error.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>--find-links dist</parameter></term>
<listitem>
<para>Instructs pip to search for wheel archives in the
<filename class='directory'>dist</filename> directory.</para>
</listitem>
</varlistentry>
</variablelist>
</sect2> </sect2>
<sect2 id="contents-wheel" role="content"> <sect2 id="contents-wheel" role="content">

View File

@ -45,6 +45,38 @@
in the kernel source tree for alternative methods to the way this book in the kernel source tree for alternative methods to the way this book
configures the kernel.</para> configures the kernel.</para>
<important>
<para>
Building the linux kernel for the first time is one of the most
challenging tasks in LFS. Getting it right depends on the specific
hardware for the target system and your specific needs. There are
almost 12,000 configuration items that are available for the kernel
although only about a third of them are needed for most computers. The
LFS editors recommend that users not familiar with this process follow
the procedures below fairly closely. The objective is to get an
initial system to a point where you can log in at the command line when
you reboot later in <xref linkend="ch-finish-reboot"/>. At his point
optimization and customization is not a goal.
</para>
<para>
For general information on kernel configuration see <ulink
url="&hints-root;kernel-configuration.txt"/>. Additional information
about configuring and building the kernel can be found at <ulink
url="&anduin-sources;/kernel-nutshell/"/>.
These references are a bit
dated, but still give a reasonable overview of the process.
</para>
<para>
If all else fails, you can ask for help on the <ulink
url="https://www.linuxfromscratch.org/mail.html">lfs-support</ulink>
mailing list. Note that subscribing is required in order for the list
to avoid spam.
</para>
</important>
<para>Prepare for compilation by running the following command:</para> <para>Prepare for compilation by running the following command:</para>
<screen><userinput remap="pre">make mrproper</userinput></screen> <screen><userinput remap="pre">make mrproper</userinput></screen>
@ -88,13 +120,6 @@
<!-- Support for compiling a keymap into the kernel is deliberately removed --> <!-- Support for compiling a keymap into the kernel is deliberately removed -->
<para>For general information on kernel configuration see <ulink
url="&hints-root;kernel-configuration.txt"/>. BLFS has some information
regarding particular kernel configuration requirements of packages outside
of LFS at <ulink
url="&blfs-book;longindex.html#kernel-config-index"/>. Additional
information about configuring and building the kernel can be found at
<ulink url="http://www.kroah.com/lkn/"/> </para>
<note> <note>
<para>A good starting place for setting up the kernel configuration is to <para>A good starting place for setting up the kernel configuration is to
@ -134,6 +159,7 @@ General setup ---&gt;
[ ] Auditing Support [CONFIG_AUDIT] [ ] Auditing Support [CONFIG_AUDIT]
CPU/Task time and stats accounting ---&gt; CPU/Task time and stats accounting ---&gt;
[*] Pressure stall information tracking [CONFIG_PSI] [*] Pressure stall information tracking [CONFIG_PSI]
[ ] Require boot parameter to enable pressure stall information tracking [CONFIG_PSI_DEFAULT_DISABLED]
&lt; &gt; Enable kernel headers through /sys/kernel/kheaders.tar.xz [CONFIG_IKHEADERS] &lt; &gt; Enable kernel headers through /sys/kernel/kheaders.tar.xz [CONFIG_IKHEADERS]
[*] Control Group support [CONFIG_CGROUPS] ---&gt; [*] Control Group support [CONFIG_CGROUPS] ---&gt;
[*] Memory controller [CONFIG_MEMCG] [*] Memory controller [CONFIG_MEMCG]
@ -179,6 +205,23 @@ Device Drivers ---&gt;
[*] Message Signaled Interrupts (MSI and MSI-X) [CONFIG_PCI_MSI] [*] Message Signaled Interrupts (MSI and MSI-X) [CONFIG_PCI_MSI]
[*] IOMMU Hardware Support ---&gt; [CONFIG_IOMMU_SUPPORT] [*] IOMMU Hardware Support ---&gt; [CONFIG_IOMMU_SUPPORT]
[*] Support for Interrupt Remapping [CONFIG_IRQ_REMAP]</screen> [*] Support for Interrupt Remapping [CONFIG_IRQ_REMAP]</screen>
<para>If you are building a 32-bit system running on a hardware
with RAM more than 4GB, adjust the configuration so the kernel will
be able to use up to 64GB physical RAM:</para>
<screen role="nodump">Processor type and features ---&gt;
High Memory Support ---&gt;
(X) 64GB [CONFIG_HIGHMEM64G]</screen>
<para>If the partition for the LFS system is in a NVME SSD (i. e. the
device node for the partition is <filename>/dev/nvme*</filename>
instead of <filename>/dev/sd*</filename>), enable NVME support or
the LFS system won't boot:</para>
<screen role="nodump">Device Drivers ---&gt;
NVME Support ---&gt;
&lt;*&gt; NVM Express block device [CONFIG_BLK_DEV_NVME]</screen>
</note> </note>
<note revision="systemd"> <note revision="systemd">
@ -186,18 +229,18 @@ Device Drivers ---&gt;
required, it is highly recommended by the systemd developers.</para> required, it is highly recommended by the systemd developers.</para>
</note> </note>
<para revision="sysv">There are several other options that may be desired <para>There are several other options that may be desired
depending on the requirements for the system. For a list of options needed depending on the requirements for the system. For a list of options needed
for BLFS packages, see the <ulink for BLFS packages, see the <ulink
url="&lfs-root;blfs/view/&short-version;/longindex.html#kernel-config-index">BLFS url="&lfs-root;blfs/view/&short-version;/longindex.html#kernel-config-index">BLFS
Index of Kernel Settings</ulink> Index of Kernel Settings</ulink>.</para>
(&lfs-root;blfs/view/&short-version;/longindex.html#kernel-config-index).</para>
<note> <note>
<para>If your host hardware is using UEFI and you wish to boot the <para>If your host hardware is using UEFI and you wish to boot the
LFS system with it, you should adjust some kernel configuration LFS system with it, you should adjust some kernel configuration
following <ulink url="&blfs-book;postlfs/grub-setup.html#uefi-kernel"> following <ulink url="&blfs-book;postlfs/grub-setup.html#uefi-kernel">
the BLFS page</ulink>.</para> the BLFS page</ulink> <emphasis role='bold'>even if you'll use the
UEFI bootloader from the host distro</emphasis>.</para>
</note> </note>
<variablelist> <variablelist>

View File

@ -75,6 +75,12 @@
</para> </para>
</listitem> </listitem>
<listitem>
<para>
Ensure a password is set for the &root; user.
</para>
</listitem>
<listitem> <listitem>
<para> <para>
A review of the following configuration files A review of the following configuration files
@ -119,7 +125,15 @@
<para>Assuming the GRUB boot loader was set up as outlined earlier, the menu <para>Assuming the GRUB boot loader was set up as outlined earlier, the menu
is set to boot <emphasis>LFS &version;</emphasis> automatically.</para> is set to boot <emphasis>LFS &version;</emphasis> automatically.</para>
<para>When the reboot is complete, the LFS system is ready for use and <para>When the reboot is complete, the LFS system is ready for use. What you
more software may be added to suit your needs.</para> will see is a simple <quote>login: </quote> prompt. At this point, you can
proceed to <ulink url="&blfs-book;">the BLFS Book</ulink>
where you can add more software to suit your needs.</para>
<para>
If your reboot is <emphasis role="bold">not</emphasis> successful, it
is time to troubleshoot. For hints on solving initial booting problems, see
<ulink url="https://www.linuxfromscratch.org/lfs/troubleshooting.html"/>.
</para>
</sect1> </sect1>

108
gen-changelog.py Executable file
View File

@ -0,0 +1,108 @@
#!/usr/bin/env python3
# LFS ChangeLog generator for trivial package addition, removal, and update
from subprocess import Popen, PIPE
from urllib.request import urlopen
from os import getenv
def get_entity(line):
line = line[1:]
if not line.startswith("<!ENTITY "):
return None
quote_pos = line.find(' "')
key = line[len("<!ENTITY "):quote_pos]
value = line[quote_pos + 2:]
value = value[:value.find('"')]
return (key, value)
def expand_entity(ent, key):
value = ent[key]
out = ""
sub_ent = ""
for c in value:
if c == '&':
sub_ent = c
elif sub_ent:
sub_ent += c
if c == ';':
out += expand_entity(ent, sub_ent[1:-1])
sub_ent = ""
else:
out += c
return out
git_diff = Popen(["git", "diff", "-U999999", "packages.ent"],
stdout = PIPE,
text = True)
stdout, _ = git_diff.communicate()
lines = stdout.rstrip().split("\n")
ent = [get_entity(i) for i in lines if i[0] != '-']
ent = dict(i for i in ent if i)
add = set()
rem = set()
for l in lines:
if l[0] in '+-':
pair = get_entity(l)
if pair:
key, _ = pair
if key.endswith('-md5'):
pkg = key[:-len('-md5')]
if l[0] == '+':
add.add(pkg)
else:
rem.add(pkg)
upd = add.intersection(rem)
add = add.symmetric_difference(upd)
rem = rem.symmetric_difference(upd)
ticket = {}
security = set()
url = 'https://wiki.linuxfromscratch.org/lfs/report/1?format=tab'
tsv = urlopen(url)
for i in tsv:
fields = i.decode().split('\t')
if len(fields) >= 2:
pkg = fields[1].lower()
pos = pkg.find(' ')
if pos > 0:
pkg = pkg[:pos]
tic = fields[0]
if len(fields) >= 3 and fields[2].startswith("high"):
security.add(pkg)
ticket[pkg] = tic
print("Plain Text:")
for (s, act) in [(upd, "Update to "), (add, "Add ")]:
for i in s:
pkgver = i + "-" + expand_entity(ent, i + "-version")
out = act + pkgver
if pkgver in ticket:
out += ' (#' + ticket[pkgver] + ')'
print(out)
for i in rem:
print("Remove", i)
print("---------------------")
print("XML")
name = getenv("USER")
for (s, act) in [(upd, "Update to "), (add, "Add ")]:
for i in s:
print(' <listitem>')
pkgver = i + "-" + expand_entity(ent, i + "-version")
out = ' <para>[' + name + '] - ' + act + pkgver
if pkgver in security:
out += " (security fix)"
out += "."
if pkgver in ticket:
out += " Fixes\n "
out += "<ulink url='&lfs-ticket-root;" + ticket[pkgver] + "'>#"
out += ticket[pkgver] + "</ulink>."
out += "</para>"
print(out)
print(' </listitem>')

View File

@ -58,10 +58,10 @@
<!ENTITY bash-fin-du "52 MB"> <!ENTITY bash-fin-du "52 MB">
<!ENTITY bash-fin-sbu "1.2 SBU"> <!ENTITY bash-fin-sbu "1.2 SBU">
<!ENTITY bc-version "6.3.1"> <!ENTITY bc-version "6.5.0">
<!ENTITY bc-size "448 KB"> <!ENTITY bc-size "452 KB">
<!ENTITY bc-url "https://github.com/gavinhoward/bc/releases/download/&bc-version;/bc-&bc-version;.tar.xz"> <!ENTITY bc-url "https://github.com/gavinhoward/bc/releases/download/&bc-version;/bc-&bc-version;.tar.xz">
<!ENTITY bc-md5 "70caa7c8a273d7152ad015823e887455"> <!ENTITY bc-md5 "e4757f48340dfe74af0d5be7ea56f7c7">
<!ENTITY bc-home "https://git.gavinhoward.com/gavin/bc"> <!ENTITY bc-home "https://git.gavinhoward.com/gavin/bc">
<!ENTITY bc-fin-du "7.6 MB"> <!ENTITY bc-fin-du "7.6 MB">
<!ENTITY bc-fin-sbu "less than 0.1 SBU"> <!ENTITY bc-fin-sbu "less than 0.1 SBU">
@ -104,10 +104,10 @@
<!ENTITY check-fin-du "12 MB"> <!ENTITY check-fin-du "12 MB">
<!ENTITY check-fin-sbu "0.1 SBU (about 1.7 SBU with tests)"> <!ENTITY check-fin-sbu "0.1 SBU (about 1.7 SBU with tests)">
<!ENTITY coreutils-version "9.1"> <!ENTITY coreutils-version "9.2">
<!ENTITY coreutils-size "5,570 KB"> <!ENTITY coreutils-size "5,644 KB">
<!ENTITY coreutils-url "&gnu;coreutils/coreutils-&coreutils-version;.tar.xz"> <!ENTITY coreutils-url "&gnu;coreutils/coreutils-&coreutils-version;.tar.xz">
<!ENTITY coreutils-md5 "8b1ca4e018a7dce9bb937faec6618671"> <!ENTITY coreutils-md5 "4a8a5097d8d7315ccfd6be7eafc8c862">
<!ENTITY coreutils-home "&gnu-software;coreutils/"> <!ENTITY coreutils-home "&gnu-software;coreutils/">
<!ENTITY coreutils-tmp-du "162 MB"> <!ENTITY coreutils-tmp-du "162 MB">
<!ENTITY coreutils-tmp-sbu "0.3 SBU"> <!ENTITY coreutils-tmp-sbu "0.3 SBU">
@ -207,6 +207,14 @@
<!ENTITY flex-fin-du "33 MB"> <!ENTITY flex-fin-du "33 MB">
<!ENTITY flex-fin-sbu "0.1 SBU"> <!ENTITY flex-fin-sbu "0.1 SBU">
<!ENTITY flit-core-version "3.8.0">
<!ENTITY flit-core-size "44 KB">
<!ENTITY flit-core-url "&pypi-src;/f/flit-core/flit_core-&flit-core-version;.tar.gz">
<!ENTITY flit-core-md5 "7c41da13273f7787709a24f74e0f5a99">
<!ENTITY flit-core-home "&pypi-home;/flit-core/">
<!ENTITY flit-core-fin-du "736 KB">
<!ENTITY flit-core-fin-sbu "less than 0.1 SBU">
<!ENTITY gawk-version "5.2.1"> <!ENTITY gawk-version "5.2.1">
<!ENTITY gawk-size "3,332 KB"> <!ENTITY gawk-size "3,332 KB">
<!ENTITY gawk-url "&gnu;gawk/gawk-&gawk-version;.tar.xz"> <!ENTITY gawk-url "&gnu;gawk/gawk-&gawk-version;.tar.xz">
@ -281,10 +289,10 @@
<!ENTITY gperf-fin-du "6.1 MB"> <!ENTITY gperf-fin-du "6.1 MB">
<!ENTITY gperf-fin-sbu "less than 0.1 SBU"> <!ENTITY gperf-fin-sbu "less than 0.1 SBU">
<!ENTITY grep-version "3.8"> <!ENTITY grep-version "3.10">
<!ENTITY grep-size "1,670 KB"> <!ENTITY grep-size "1,652 KB">
<!ENTITY grep-url "&gnu;grep/grep-&grep-version;.tar.xz"> <!ENTITY grep-url "&gnu;grep/grep-&grep-version;.tar.xz">
<!ENTITY grep-md5 "dc6e4d18d4659e6e7552fc4a183c8ac9"> <!ENTITY grep-md5 "ab3f063ad4596b7d094fb5f66cf327d6">
<!ENTITY grep-home "&gnu-software;grep/"> <!ENTITY grep-home "&gnu-software;grep/">
<!ENTITY grep-tmp-du "25 MB"> <!ENTITY grep-tmp-du "25 MB">
<!ENTITY grep-tmp-sbu "0.2 SBU"> <!ENTITY grep-tmp-sbu "0.2 SBU">
@ -319,10 +327,10 @@
<!ENTITY gzip-fin-du "21 MB"> <!ENTITY gzip-fin-du "21 MB">
<!ENTITY gzip-fin-sbu "0.3 SBU"> <!ENTITY gzip-fin-sbu "0.3 SBU">
<!ENTITY iana-etc-version "20230202"> <!ENTITY iana-etc-version "20230306">
<!ENTITY iana-etc-size "586 KB"> <!ENTITY iana-etc-size "587 KB">
<!ENTITY iana-etc-url "https://github.com/Mic92/iana-etc/releases/download/&iana-etc-version;/iana-etc-&iana-etc-version;.tar.gz"> <!ENTITY iana-etc-url "https://github.com/Mic92/iana-etc/releases/download/&iana-etc-version;/iana-etc-&iana-etc-version;.tar.gz">
<!ENTITY iana-etc-md5 "e64685d046cd0dfe94b5c66e294cf9ef"> <!ENTITY iana-etc-md5 "b25ebfa2a9ae359a64abaa8331347505">
<!ENTITY iana-etc-home "https://www.iana.org/protocols"> <!ENTITY iana-etc-home "https://www.iana.org/protocols">
<!ENTITY iana-etc-fin-du "4.8 MB"> <!ENTITY iana-etc-fin-du "4.8 MB">
<!ENTITY iana-etc-fin-sbu "less than 0.1 SBU"> <!ENTITY iana-etc-fin-sbu "less than 0.1 SBU">
@ -394,10 +402,10 @@
<!ENTITY lfs-bootscripts-cfg-du "BOOTSCRIPTS-INSTALL-KB KB"> <!ENTITY lfs-bootscripts-cfg-du "BOOTSCRIPTS-INSTALL-KB KB">
<!ENTITY lfs-bootscripts-cfg-sbu "less than 0.1 SBU"> <!ENTITY lfs-bootscripts-cfg-sbu "less than 0.1 SBU">
<!ENTITY libcap-version "2.67"> <!ENTITY libcap-version "2.68">
<!ENTITY libcap-size "183 KB"> <!ENTITY libcap-size "188 KB">
<!ENTITY libcap-url "&kernel;linux/libs/security/linux-privs/libcap2/libcap-&libcap-version;.tar.xz"> <!ENTITY libcap-url "&kernel;linux/libs/security/linux-privs/libcap2/libcap-&libcap-version;.tar.xz">
<!ENTITY libcap-md5 "06333f4301657298890fd8d6f1fb4793"> <!ENTITY libcap-md5 "ffb9e9c87704f92ac75201327841e753">
<!ENTITY libcap-home "https://sites.google.com/site/fullycapable/"> <!ENTITY libcap-home "https://sites.google.com/site/fullycapable/">
<!ENTITY libcap-fin-du "2.9 MB"> <!ENTITY libcap-fin-du "2.9 MB">
<!ENTITY libcap-fin-sbu "less than 0.1 SBU"> <!ENTITY libcap-fin-sbu "less than 0.1 SBU">
@ -428,12 +436,12 @@
<!ENTITY linux-major-version "6"> <!ENTITY linux-major-version "6">
<!ENTITY linux-minor-version "2"> <!ENTITY linux-minor-version "2">
<!ENTITY linux-patch-version "2"> <!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 "133,236 KB"> <!ENTITY linux-size "133,256 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 "03b17feb98f92131a465b09f3a12e715"> <!ENTITY linux-md5 "f54e2a251b1abd5b56e46ed0de569275">
<!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,
@ -532,10 +540,10 @@
<!ENTITY ninja-fin-du "77 MB"> <!ENTITY ninja-fin-du "77 MB">
<!ENTITY ninja-fin-sbu "0.3 SBU"> <!ENTITY ninja-fin-sbu "0.3 SBU">
<!ENTITY openssl-version "3.0.8"> <!ENTITY openssl-version "3.1.0">
<!ENTITY openssl-size "14,800 KB"> <!ENTITY openssl-size "15,164 KB">
<!ENTITY openssl-url "https://www.openssl.org/source/openssl-&openssl-version;.tar.gz"> <!ENTITY openssl-url "https://www.openssl.org/source/openssl-&openssl-version;.tar.gz">
<!ENTITY openssl-md5 "61e017cf4fea1b599048f621f1490fbd"> <!ENTITY openssl-md5 "f6c520aa2206d4d1fa71ea30b5e9a56d">
<!ENTITY openssl-home "https://www.openssl.org/"> <!ENTITY openssl-home "https://www.openssl.org/">
<!ENTITY openssl-fin-du "520 MB"> <!ENTITY openssl-fin-du "520 MB">
<!ENTITY openssl-fin-sbu "3.2 SBU"> <!ENTITY openssl-fin-sbu "3.2 SBU">
@ -687,20 +695,20 @@
<!ENTITY tcl-tmp-du "89 MB"> <!ENTITY tcl-tmp-du "89 MB">
<!ENTITY tcl-tmp-sbu "2.7 SBU"> <!ENTITY tcl-tmp-sbu "2.7 SBU">
<!ENTITY texinfo-version "7.0.2"> <!ENTITY texinfo-version "7.0.3">
<!ENTITY texinfo-size "4,762 KB"> <!ENTITY texinfo-size "4,776 KB">
<!ENTITY texinfo-url "&gnu;texinfo/texinfo-&texinfo-version;.tar.xz"> <!ENTITY texinfo-url "&gnu;texinfo/texinfo-&texinfo-version;.tar.xz">
<!ENTITY texinfo-md5 "be9500f3a361525622850ecb1b1fc024"> <!ENTITY texinfo-md5 "37bf94fd255729a14d4ea3dda119f81a">
<!ENTITY texinfo-home "&gnu-software;texinfo/"> <!ENTITY texinfo-home "&gnu-software;texinfo/">
<!ENTITY texinfo-tmp-du "116 MB"> <!ENTITY texinfo-tmp-du "116 MB">
<!ENTITY texinfo-tmp-sbu "0.2 SBU"> <!ENTITY texinfo-tmp-sbu "0.2 SBU">
<!ENTITY texinfo-fin-du "128 MB"> <!ENTITY texinfo-fin-du "128 MB">
<!ENTITY texinfo-fin-sbu "0.3 SBU"> <!ENTITY texinfo-fin-sbu "0.3 SBU">
<!ENTITY tzdata-version "2022g"> <!ENTITY tzdata-version "2023c">
<!ENTITY tzdata-size "430 KB"> <!ENTITY tzdata-size "436 KB">
<!ENTITY tzdata-url "https://www.iana.org/time-zones/repository/releases/tzdata&tzdata-version;.tar.gz"> <!ENTITY tzdata-url "https://www.iana.org/time-zones/repository/releases/tzdata&tzdata-version;.tar.gz">
<!ENTITY tzdata-md5 "884250fd2a8a55f6322900ad4ab94d7b"> <!ENTITY tzdata-md5 "5aa672bf129b44dd915f8232de38e49a">
<!ENTITY tzdata-home "https://www.iana.org/time-zones"> <!ENTITY tzdata-home "https://www.iana.org/time-zones">
<!ENTITY udev-lfs-version "udev-lfs-20171102"> <!ENTITY udev-lfs-version "udev-lfs-20171102">
@ -734,10 +742,10 @@
<!ENTITY vim-fin-du "235 MB"> <!ENTITY vim-fin-du "235 MB">
<!ENTITY vim-fin-sbu "2.4 SBU"> <!ENTITY vim-fin-sbu "2.4 SBU">
<!ENTITY wheel-version "0.38.4"> <!ENTITY wheel-version "0.40.0">
<!ENTITY wheel-size "66 KB"> <!ENTITY wheel-size "96 KB">
<!ENTITY wheel-url "&pypi-src;/w/wheel/wheel-&wheel-version;.tar.gz"> <!ENTITY wheel-url "&pypi-src;/w/wheel/wheel-&wheel-version;.tar.gz">
<!ENTITY wheel-md5 "83bb4e7bd4d687d398733f341a64ab91"> <!ENTITY wheel-md5 "ec5004c46d1905da98bb5bc1a10ddd21">
<!ENTITY wheel-home "&pypi-home;/wheel/"> <!ENTITY wheel-home "&pypi-home;/wheel/">
<!ENTITY wheel-fin-du "1.3 MB"> <!ENTITY wheel-fin-du "1.3 MB">
<!ENTITY wheel-fin-sbu "less than 0.1 SBU"> <!ENTITY wheel-fin-sbu "less than 0.1 SBU">
@ -750,10 +758,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.4.1"> <!ENTITY xz-version "5.4.2">
<!ENTITY xz-size "1,451 KB"> <!ENTITY xz-size "1,576 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 "47d831c659e94071d5dd384d0d1ed4c6"> <!ENTITY xz-md5 "1dcdf002d9a69f48ff67be84964af0d8">
<!ENTITY xz-home "https://tukaani.org/xz"> <!ENTITY xz-home "https://tukaani.org/xz">
<!ENTITY xz-tmp-du "20 MB"> <!ENTITY xz-tmp-du "20 MB">
<!ENTITY xz-tmp-sbu "0.1 SBU"> <!ENTITY xz-tmp-sbu "0.1 SBU">

View File

@ -23,7 +23,7 @@
<!ENTITY bzip2-docs-patch-size "1.6 KB"> <!ENTITY bzip2-docs-patch-size "1.6 KB">
<!ENTITY coreutils-i18n-patch "coreutils-&coreutils-version;-i18n-1.patch"> <!ENTITY coreutils-i18n-patch "coreutils-&coreutils-version;-i18n-1.patch">
<!ENTITY coreutils-i18n-patch-md5 "c1ac7edf095027460716577633da9fc5"> <!ENTITY coreutils-i18n-patch-md5 "3c6340b3ddd62f4acdf8d3caa6fad6b0">
<!ENTITY coreutils-i18n-patch-size "166 KB"> <!ENTITY coreutils-i18n-patch-size "166 KB">
<!-- <!--
<!ENTITY coreutils-chmod-patch "coreutils-&coreutils-version;-chmod_fix-1.patch"> <!ENTITY coreutils-chmod-patch "coreutils-&coreutils-version;-chmod_fix-1.patch">