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

This commit is contained in:
Xi Ruoyao 2022-09-19 14:38:55 +08:00
commit 6c952e3e40
No known key found for this signature in database
GPG Key ID: ACAAD20E19E710E3
51 changed files with 1040 additions and 611 deletions

View File

@ -26,7 +26,7 @@ ifeq ($(REV), sysv)
BASEDIR ?= ~/lfs-book BASEDIR ?= ~/lfs-book
PDF_OUTPUT ?= LFS-BOOK.pdf PDF_OUTPUT ?= LFS-BOOK.pdf
NOCHUNKS_OUTPUT ?= LFS-BOOK.html NOCHUNKS_OUTPUT ?= LFS-BOOK.html
DUMPDIR ?= ~/cross-lfs-commands DUMPDIR ?= ~/lfs-commands
else else
BASEDIR ?= ~/lfs-systemd BASEDIR ?= ~/lfs-systemd
PDF_OUTPUT ?= LFS-SYSD-BOOK.pdf PDF_OUTPUT ?= LFS-SYSD-BOOK.pdf
@ -197,22 +197,17 @@ $(BASEDIR)/md5sums: stylesheets/wget-list.xsl chapter03/chapter03.xml \
version: version:
$(Q)./git-version.sh $(REV) $(Q)./git-version.sh $(REV)
#dump-commands: validate dump-commands: validate
# @echo "Dumping book commands..." @echo "Dumping book commands..."
# $(Q)xsltproc --nonet \
# --output $(RENDERTMP)/lfs-html.xml \
# --stringparam profile.revision $(REV) \
# stylesheets/lfs-xsl/profile.xsl \
# $(RENDERTMP)/lfs-full.xml
# $(Q)rm -rf $(DUMPDIR) $(Q)rm -rf $(DUMPDIR)
# $(Q)xsltproc --output $(DUMPDIR)/ \ $(Q)xsltproc --output $(DUMPDIR)/ \
# stylesheets/dump-commands.xsl \ stylesheets/dump-commands.xsl \
# $(RENDERTMP)/lfs-html.xml $(RENDERTMP)/lfs-full.xml
# @echo "Dumping book commands complete in $(DUMPDIR)" @echo "Dumping book commands complete in $(DUMPDIR)"
all: book nochunks pdf # dump-commands all: book nochunks pdf dump-commands
.PHONY : all book dump-commands nochunks pdf profile-html tmpdir validate md5sums wget-list version .PHONY : all book dump-commands nochunks pdf profile-html tmpdir validate md5sums wget-list version

View File

@ -247,12 +247,12 @@
<para><ulink url="mailto:info@shizu-net.jp">Shizunet Co.,Ltd.</ulink> <para><ulink url="mailto:info@shizu-net.jp">Shizunet Co.,Ltd.</ulink>
&lt;info@shizu-net.jp&gt; &ndash; lfs.mirror.shizu-net.jp mirror</para> &lt;info@shizu-net.jp&gt; &ndash; lfs.mirror.shizu-net.jp mirror</para>
</listitem> </listitem>
<!-- domain name can't be resolved on Sept 5, 2022
<listitem> <listitem>
<para><ulink url="http://www.initworld.com/">Init World</ulink> <para><ulink url="http://www.initworld.com/">Init World</ulink>
&lt;http://www.initworld.com/&gt; &ndash; lfs.initworld.com mirror</para> &lt;http://www.initworld.com/&gt; &ndash; lfs.initworld.com mirror</para>
</listitem> </listitem>
-->
</itemizedlist> </itemizedlist>
<bridgehead renderas="sect3">Australian Mirrors</bridgehead> <bridgehead renderas="sect3">Australian Mirrors</bridgehead>

View File

@ -948,7 +948,7 @@
<segtitle>&external;</segtitle> <segtitle>&external;</segtitle>
<seglistitem> <seglistitem>
<seg> <seg>
<ulink url="http://gcc.gnu.org/wiki/GNAT">GNAT</ulink> <ulink url="https://gcc.gnu.org/wiki/GNAT">GNAT</ulink>
and and
<ulink url="https://repo.or.cz/isl.git">ISL</ulink> <ulink url="https://repo.or.cz/isl.git">ISL</ulink>
</seg> </seg>
@ -1186,7 +1186,7 @@
<segtitle>&external;</segtitle> <segtitle>&external;</segtitle>
<seglistitem> <seglistitem>
<seg> <seg>
<ulink url="&blfs-book;general/pcre.html">PCRE</ulink> <ulink url="&blfs-book;general/pcre2.html">PCRE2</ulink>
and and
<ulink url="&blfs-book;general/libsigsegv.html">libsigsegv</ulink> <ulink url="&blfs-book;general/libsigsegv.html">libsigsegv</ulink>
</seg> </seg>
@ -2356,7 +2356,7 @@
<segmentedlist id="patch-rundeps"> <segmentedlist id="patch-rundeps">
<segtitle>&runtime;</segtitle> <segtitle>&runtime;</segtitle>
<seglistitem> <seglistitem>
<seg>Glibc and Patch</seg> <seg>Glibc</seg>
</seglistitem> </seglistitem>
</segmentedlist> </segmentedlist>
@ -2813,7 +2813,7 @@
<ulink url="&blfs-book;postlfs/linux-pam.html">Linux-PAM</ulink>, <ulink url="&blfs-book;postlfs/linux-pam.html">Linux-PAM</ulink>,
<ulink <ulink
url="&blfs-book;general/python-modules.html#lxml">lxml</ulink>, url="&blfs-book;general/python-modules.html#lxml">lxml</ulink>,
<ulink url="http://lz4.github.io/lz4/">LZ4</ulink>, <ulink url="https://lz4.github.io/lz4/">LZ4</ulink>,
<ulink url="&blfs-book;postlfs/make-ca.html">make-ca</ulink>, <ulink url="&blfs-book;postlfs/make-ca.html">make-ca</ulink>,
<ulink url="&blfs-book;postlfs/p11-kit.html">p11-kit</ulink>, <ulink url="&blfs-book;postlfs/p11-kit.html">p11-kit</ulink>,
<ulink url="&blfs-book;general/pcre2.html">PCRE2</ulink>, <ulink url="&blfs-book;general/pcre2.html">PCRE2</ulink>,
@ -3266,7 +3266,7 @@
<segtitle>&external;</segtitle> <segtitle>&external;</segtitle>
<seglistitem> <seglistitem>
<seg> <seg>
<ulink url="http://lz4.github.io/lz4/">LZ4</ulink> <ulink url="https://lz4.github.io/lz4/">LZ4</ulink>
</seg> </seg>
</seglistitem> </seglistitem>
</segmentedlist> </segmentedlist>

View File

@ -40,6 +40,86 @@
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>2022-09-15</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Update to file-5.43. Fixes
<ulink url="&lfs-ticket-root;5113">#5113</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to linux-5.19.8. Fixes
<ulink url="&lfs-ticket-root;5111">#5111</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to gawk-5.2.0. Fixes
<ulink url="&lfs-ticket-root;5108">#5108</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to meson-0.63.2. Fixes
<ulink url="&lfs-ticket-root;5106">#5106</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to ninja-1.11.1. Fixes
<ulink url="&lfs-ticket-root;5103">#5103</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to bc-6.0.2. Fixes
<ulink url="&lfs-ticket-root;5102">#5102</ulink>.</para>
</listitem>
<listitem revision="sysv">
<para>[bdubbs] - Fix the location of udev rules in eudev. Fixes
<ulink url="&lfs-ticket-root;5112">#5112</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Remove a warning for egrep and fgrep that
makes tests for some packages fail.</para>
</listitem>
<listitem>
<para>[bdubbs] - Delete an empty binutils man page. Fixes
<ulink url="&lfs-ticket-root;5100">#5100</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>2022-09-10</para>
<itemizedlist>
<listitem>
<para>[pierre] - Add <option>--enable-default-pie</option> and
<option>--enable-default-ssp</option> to GCC build. Rationale
and some reports at
<ulink url="&lfs-ticket-root;5107">#5107</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>2022-09-07</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Update to shadow-4.12.3. Fixes
<ulink url="&lfs-ticket-root;5101">#5101</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to Python3-3.10.7. Fixes
<ulink url="&lfs-ticket-root;5109">#5109</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to linux-5.19.7. Fixes
<ulink url="&lfs-ticket-root;5099">#5099</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to less-608. Fixes
<ulink url="&lfs-ticket-root;5104">#5104</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to grep-3.8. Fixes
<ulink url="&lfs-ticket-root;5105">#5105</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem> <listitem>
<para>2022-09-01</para> <para>2022-09-01</para>
<itemizedlist> <itemizedlist>

View File

@ -44,9 +44,9 @@
<listitem> <listitem>
<para>Bc &bc-version;</para> <para>Bc &bc-version;</para>
</listitem> </listitem>
<listitem> <!--<listitem>
<para>Binutils-&binutils-version;</para> <para>Binutils-&binutils-version;</para>
</listitem> </listitem>-->
<!--<listitem> <!--<listitem>
<para>Bison-&bison-version;</para> <para>Bison-&bison-version;</para>
</listitem>--> </listitem>-->
@ -56,27 +56,27 @@
<!--<listitem> <!--<listitem>
<para>Check-&check-version;</para> <para>Check-&check-version;</para>
</listitem>--> </listitem>-->
<listitem> <!--<listitem>
<para>Coreutils-&coreutils-version;</para> <para>Coreutils-&coreutils-version;</para>
</listitem> </listitem>-->
<!--<listitem> <!--<listitem>
<para>DejaGNU-&dejagnu-version;</para> <para>DejaGNU-&dejagnu-version;</para>
</listitem>--> </listitem>-->
<listitem revision="systemd"> <!--<listitem revision="systemd">
<para>D-Bus-&dbus-version;</para> <para>D-Bus-&dbus-version;</para>
</listitem> </listitem>-->
<!--<listitem> <!--<listitem>
<para>Diffutils-&diffutils-version;</para> <para>Diffutils-&diffutils-version;</para>
</listitem>--> </listitem>-->
<listitem> <!--<listitem>
<para>E2fsprogs-&e2fsprogs-version;</para> <para>E2fsprogs-&e2fsprogs-version;</para>
</listitem> </listitem>-->
<!--<listitem revision="sysv"> <!--<listitem revision="sysv">
<para>Eudev-&eudev-version;</para> <para>Eudev-&eudev-version;</para>
</listitem>--> </listitem>-->
<listitem> <!--<listitem>
<para>Expat-&expat-version;</para> <para>Expat-&expat-version;</para>
</listitem> </listitem>-->
<!--<listitem> <!--<listitem>
<para>Expect-&expect-version;</para> <para>Expect-&expect-version;</para>
</listitem>--> </listitem>-->
@ -89,81 +89,81 @@
<!--<listitem> <!--<listitem>
<para>Flex-&flex-version;</para> <para>Flex-&flex-version;</para>
</listitem>--> </listitem>-->
<!--<listitem>
<para>Gawk-&gawk-version;</para>
</listitem>-->
<listitem> <listitem>
<para>GCC-&gcc-version;</para> <para>Gawk-&gawk-version;</para>
</listitem> </listitem>
<!--<listitem>
<para>GCC-&gcc-version;</para>
</listitem>-->
<!--<listitem> <!--<listitem>
<para>GDBM-&gdbm-version;</para> <para>GDBM-&gdbm-version;</para>
</listitem>--> </listitem>-->
<!--<listitem> <!--<listitem>
<para>Gettext-&gettext-version;</para> <para>Gettext-&gettext-version;</para>
</listitem>--> </listitem>-->
<listitem> <!--<listitem>
<para>Glibc-&glibc-version;</para> <para>Glibc-&glibc-version;</para>
</listitem> </listitem>-->
<!--<listitem> <!--<listitem>
<para>GMP-&gmp-version;</para> <para>GMP-&gmp-version;</para>
</listitem>--> </listitem>-->
<!--<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>-->
<!--<listitem> <!--<listitem>
<para>GRUB-&grub-version;</para> <para>GRUB-&grub-version;</para>
</listitem>--> </listitem>-->
<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>-->
<!--<listitem> <!--<listitem>
<para>Intltool-&intltool-version;</para> <para>Intltool-&intltool-version;</para>
</listitem>--> </listitem>-->
<listitem>
<para>IPRoute2-&iproute2-version;</para>
</listitem>
<listitem revision="systemd">
<para>Jinja2-&jinja2-version;</para>
</listitem>
<listitem>
<para>Kbd-&kbd-version;</para>
</listitem>
<listitem>
<para>Kmod-&kmod-version;</para>
</listitem>
<!--<listitem> <!--<listitem>
<para>Less-&less-version;</para> <para>IPRoute2-&iproute2-version;</para>
</listitem>--> </listitem>-->
<!--<listitem revision="systemd">
<para>Jinja2-&jinja2-version;</para>
</listitem>-->
<!--<listitem>
<para>Kbd-&kbd-version;</para>
</listitem>-->
<!--<listitem>
<para>Kmod-&kmod-version;</para>
</listitem>-->
<listitem>
<para>Less-&less-version;</para>
</listitem>
<!--<listitem> <!--<listitem>
<para>LFS-Bootscripts-&lfs-bootscripts-version;</para> <para>LFS-Bootscripts-&lfs-bootscripts-version;</para>
</listitem>--> </listitem>-->
<listitem> <!--<listitem>
<para>Libcap-&libcap-version;</para> <para>Libcap-&libcap-version;</para>
</listitem> </listitem>-->
<listitem> <!--<listitem>
<para>Libelf-&elfutils-version; (from elfutils)</para> <para>Libelf-&elfutils-version; (from elfutils)</para>
</listitem> </listitem>-->
<!--<listitem> <!--<listitem>
<para>Libffi-&libffi-version;</para> <para>Libffi-&libffi-version;</para>
</listitem>--> </listitem>-->
<listitem> <!--<listitem>
<para>Libpipeline-&libpipeline-version;</para> <para>Libpipeline-&libpipeline-version;</para>
</listitem> </listitem>-->
<listitem> <!--<listitem>
<para>Libtool-&libtool-version;</para> <para>Libtool-&libtool-version;</para>
</listitem> </listitem>-->
<listitem> <listitem>
<para>Linux-&linux-version;</para> <para>Linux-&linux-version;</para>
</listitem> </listitem>
@ -173,15 +173,15 @@
<!--<listitem> <!--<listitem>
<para>Make-&make-version;</para> <para>Make-&make-version;</para>
</listitem>--> </listitem>-->
<listitem> <!--<listitem>
<para>Man-DB-&man-db-version;</para> <para>Man-DB-&man-db-version;</para>
</listitem> </listitem>-->
<!--<listitem> <!--<listitem>
<para>Man-pages-&man-pages-version;</para> <para>Man-pages-&man-pages-version;</para>
</listitem>--> </listitem>-->
<listitem revision="systemd"> <!--<listitem revision="systemd">
<para>MarkupSafe-&markupsafe-version;</para> <para>MarkupSafe-&markupsafe-version;</para>
</listitem> </listitem>-->
<listitem> <listitem>
<para>Meson-&meson-version;</para> <para>Meson-&meson-version;</para>
</listitem> </listitem>
@ -197,24 +197,24 @@
<listitem> <listitem>
<para>Ninja-&ninja-version;</para> <para>Ninja-&ninja-version;</para>
</listitem> </listitem>
<listitem> <!--<listitem>
<para>Openssl-&openssl-version;</para> <para>Openssl-&openssl-version;</para>
</listitem> </listitem>-->
<!--<listitem> <!--<listitem>
<para>Patch-&patch-version;</para> <para>Patch-&patch-version;</para>
</listitem>--> </listitem>-->
<listitem> <!--<listitem>
<para>Perl-&perl-version;</para> <para>Perl-&perl-version;</para>
</listitem> </listitem>-->
<!--<listitem> <!--<listitem>
<para>Pkg-config-&pkgconfig-version;</para> <para>Pkg-config-&pkgconfig-version;</para>
</listitem>--> </listitem>-->
<listitem> <!--<listitem>
<para>Procps-ng-&procps-ng-version;</para> <para>Procps-ng-&procps-ng-version;</para>
</listitem> </listitem>-->
<listitem> <!--<listitem>
<para>Psmisc-&psmisc-version;</para> <para>Psmisc-&psmisc-version;</para>
</listitem> </listitem>-->
<listitem> <listitem>
<para>Python-&python-version;</para> <para>Python-&python-version;</para>
</listitem> </listitem>
@ -230,12 +230,12 @@
<!--<listitem revision="sysv"> <!--<listitem revision="sysv">
<para>Sysklogd-&sysklogd-version;</para> <para>Sysklogd-&sysklogd-version;</para>
</listitem>--> </listitem>-->
<listitem revision="systemd"> <!--<listitem revision="systemd">
<para>Systemd-&systemd-version;</para> <para>Systemd-&systemd-version;</para>
</listitem> </listitem>-->
<listitem revision="sysv"> <!--<listitem revision="sysv">
<para>SysVinit-&sysvinit-version;</para> <para>SysVinit-&sysvinit-version;</para>
</listitem> </listitem>-->
<!--<listitem> <!--<listitem>
<para>Tar-&tar-version;</para> <para>Tar-&tar-version;</para>
</listitem>--> </listitem>-->
@ -245,24 +245,24 @@
<!--<listitem> <!--<listitem>
<para>Texinfo-&texinfo-version;</para> <para>Texinfo-&texinfo-version;</para>
</listitem>--> </listitem>-->
<listitem> <!--<listitem>
<para>Tzdata-&tzdata-version;</para> <para>Tzdata-&tzdata-version;</para>
</listitem> </listitem>-->
<listitem> <!--<listitem>
<para>Util-Linux-&util-linux-version;</para> <para>Util-Linux-&util-linux-version;</para>
</listitem> </listitem>-->
<listitem> <!--<listitem>
<para>Vim-&vim-version;</para> <para>Vim-&vim-version;</para>
</listitem> </listitem>-->
<!--<listitem> <!--<listitem>
<para>XML-Parser-&xml-parser-version;</para> <para>XML-Parser-&xml-parser-version;</para>
</listitem>--> </listitem>-->
<listitem> <!--<listitem>
<para>XZ-Utils-&xz-version;</para> <para>XZ-Utils-&xz-version;</para>
</listitem> </listitem>-->
<listitem> <!--<listitem>
<para>Zlib-&zlib-version;</para> <para>Zlib-&zlib-version;</para>
</listitem> </listitem>-->
<!--<listitem> <!--<listitem>
<para>Zstd-&zstd-version;</para> <para>Zstd-&zstd-version;</para>
</listitem>--> </listitem>-->
@ -280,33 +280,19 @@
<itemizedlist> <itemizedlist>
<title>Added:</title> <title>Added:</title>
<listitem><para></para></listitem> <!-- satisfy build --> <listitem><para></para></listitem> <!-- satisfy build -->
<listitem>
<para>Wheel-&wheel-version;</para> <!--<listitem>
</listitem>
<!--
<listitem>
<para>&xz-upstream-fix-patch;</para> <para>&xz-upstream-fix-patch;</para>
</listitem> </listitem>-->
-->
<listitem>
<para>&zstd-upstream-fixes-patch;</para>
</listitem>
</itemizedlist> </itemizedlist>
<itemizedlist> <itemizedlist>
<title>Removed:</title> <title>Removed:</title>
<listitem><para></para></listitem> <!-- satisfy build --> <listitem><para></para></listitem> <!-- satisfy build -->
<listitem> <!--<listitem>
<para>perl-5.34.0-upstream_fixes-1.patch</para> <para>perl-5.34.0-upstream_fixes-1.patch</para>
</listitem> </listitem>-->
<listitem>
<para>systemd-250-kernel_5.17_fixes-1.patch</para>
</listitem>
<listitem>
<para>systemd-250-upstream_fixes-1.patch</para>
</listitem>
</itemizedlist> </itemizedlist>
</sect1> </sect1>

View File

@ -44,7 +44,7 @@
<para>Other file systems, including FAT32, NTFS, ReiserFS, JFS, and XFS are <para>Other file systems, including FAT32, NTFS, ReiserFS, JFS, and XFS are
useful for specialized purposes. More information about these file systems useful for specialized purposes. More information about these file systems
can be found at <ulink can be found at <ulink
url="http://en.wikipedia.org/wiki/Comparison_of_file_systems"/>.</para> url="https://en.wikipedia.org/wiki/Comparison_of_file_systems"/>.</para>
<para>LFS assumes that the root file system (/) is of type ext4. To create <para>LFS assumes that the root file system (/) is of type ext4. To create
an <systemitem class="filesystem">ext4</systemitem> file system on the LFS an <systemitem class="filesystem">ext4</systemitem> file system on the LFS

View File

@ -31,7 +31,7 @@
<para>Download locations may not always be accessible. If a download <para>Download locations may not always be accessible. If a download
location has changed since this book was published, Google (<ulink location has changed since this book was published, Google (<ulink
url="http://www.google.com/"/>) provides a useful search engine for url="https://www.google.com/"/>) provides a useful search engine for
most packages. If this search is unsuccessful, try one of the most packages. If this search is unsuccessful, try one of the
alternative means of downloading at <ulink alternative means of downloading at <ulink
url="&lfs-root;lfs/mirrors.html#files"/>. </para> url="&lfs-root;lfs/mirrors.html#files"/>. </para>

View File

@ -85,6 +85,8 @@ cd build</userinput></screen>
--with-sysroot=$LFS \ --with-sysroot=$LFS \
--with-newlib \ --with-newlib \
--without-headers \ --without-headers \
--enable-default-pie \
--enable-default-ssp \
--disable-nls \ --disable-nls \
--disable-shared \ --disable-shared \
--disable-multilib \ --disable-multilib \
@ -130,6 +132,20 @@ cd build</userinput></screen>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry>
<term><parameter>--enable-default-pie and
--enable-default-ssp</parameter></term>
<listitem>
<para>Those switches allow GCC to compile programs with
some hardening security features (more information on those in
the <xref linkend="pie-ssp-info"/> in chapter 8) by default. The
are not strictly needed at this stage, since the compiler will
only produce temporary executables. But it is cleaner to have the
temporary packages be as close as possible to the final ones.
</para>
</listitem>
</varlistentry>
<varlistentry> <varlistentry>
<term><parameter>--disable-shared</parameter></term> <term><parameter>--disable-shared</parameter></term>
<listitem> <listitem>

View File

@ -89,6 +89,8 @@ cd build</userinput></screen>
LDFLAGS_FOR_TARGET=-L$PWD/$LFS_TGT/libgcc \ LDFLAGS_FOR_TARGET=-L$PWD/$LFS_TGT/libgcc \
--prefix=/usr \ --prefix=/usr \
--with-build-sysroot=$LFS \ --with-build-sysroot=$LFS \
--enable-default-pie \
--enable-default-ssp \
--disable-nls \ --disable-nls \
--disable-multilib \ --disable-multilib \
--disable-decimal-float \ --disable-decimal-float \

View File

@ -18,10 +18,10 @@
<screen><userinput>rm -rf /usr/share/{info,man,doc}/*</userinput></screen> <screen><userinput>rm -rf /usr/share/{info,man,doc}/*</userinput></screen>
<para>Second, the libtool .la files are only useful when linking with static <para>Second, on a modern Linux system, the libtool .la files are only
libraries. They are unneeded and potentially harmful when using dynamic useful for libltdl. No libraries in LFS are expected to be loaded by
shared libraries, specially when using non-autotools build systems. libltdl, and it's known that some .la files can cause BLFS packages
While still on the target machine, remove those files now:</para> fail to build. Remove those files now:</para>
<screen><userinput>find /usr/{lib,libexec} -name \*.la -delete</userinput></screen> <screen><userinput>find /usr/{lib,libexec} -name \*.la -delete</userinput></screen>

View File

@ -48,8 +48,8 @@
as well:</para> as well:</para>
<screen><userinput>cat &gt; /etc/hosts &lt;&lt; EOF <screen><userinput>cat &gt; /etc/hosts &lt;&lt; EOF
127.0.0.1 localhost $(hostname) <literal>127.0.0.1 localhost $(hostname)
::1 localhost ::1 localhost</literal>
EOF</userinput></screen> EOF</userinput></screen>
<para>In order for user <systemitem class="username">root</systemitem> to be <para>In order for user <systemitem class="username">root</systemitem> to be
@ -162,7 +162,7 @@ EOF</userinput></screen>
9, and in part by common convention employed by a number of existing Linux 9, and in part by common convention employed by a number of existing Linux
distributions. In addition, some test suites rely on specific users or distributions. In addition, some test suites rely on specific users or
groups. The Linux Standard Base (LSB, available at <ulink groups. The Linux Standard Base (LSB, available at <ulink
url="http://refspecs.linuxfoundation.org/lsb.shtml"/>) only recommends that, url="https://refspecs.linuxfoundation.org/lsb.shtml"/>) only recommends that,
besides the group <systemitem class="groupname">root</systemitem> with a besides the group <systemitem class="groupname">root</systemitem> with a
Group ID (GID) of 0, a group <systemitem class="groupname">bin</systemitem> Group ID (GID) of 0, a group <systemitem class="groupname">bin</systemitem>
with a GID of 1 be present. The GID of 5 is widely used for with a GID of 1 be present. The GID of 5 is widely used for

View File

@ -160,6 +160,10 @@ cd build</userinput></screen>
<screen><userinput remap="test">make -k check</userinput></screen> <screen><userinput remap="test">make -k check</userinput></screen>
<para>Twelve tests fail in the <command>gold</command> testsuite when the
<option>--enable-default-pie</option> and
<option>--enable-default-ssp</option> options are passed to GCC. There
is also a known failure in the <command>as</command> tests.</para>
<!-- Fixed in 2.39 <!-- Fixed in 2.39
https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=01ae03b https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=01ae03b
<para>One gold test, <filename>pr17704a_test</filename>, is known to <para>One gold test, <filename>pr17704a_test</filename>, is known to
@ -170,9 +174,10 @@ cd build</userinput></screen>
<screen><userinput remap="install">make tooldir=/usr install</userinput></screen> <screen><userinput remap="install">make tooldir=/usr install</userinput></screen>
<para>Remove useless static libraries:</para> <para>Remove useless static libraries and an empty man page:</para>
<screen><userinput remap="install">rm -fv /usr/lib/lib{bfd,ctf,ctf-nobfd,opcodes}.a</userinput></screen> <screen><userinput remap="install">rm -fv /usr/lib/lib{bfd,ctf,ctf-nobfd,opcodes}.a
rm -fv /usr/share/man/man1/gprofng.1</userinput></screen>
</sect2> </sect2>

View File

@ -16,10 +16,10 @@
<para>There are also several files installed in the /usr/lib and /usr/libexec <para>There are also several files installed in the /usr/lib and /usr/libexec
directories with a file name extension of .la. These are "libtool archive" directories with a file name extension of .la. These are "libtool archive"
files. As already said, they are only useful when linking with static files. As already said, on a modern Linux system the libtool .la files are
libraries. They are unneeded, and potentially harmful, when using dynamic only useful for libltdl. No libraries in LFS are expected to be loaded
shared libraries, specially when using also non-autotools build systems. by libltdl, and it's known that some .la files can cause BLFS packages
To remove them, run:</para> fail to build. Remove those files now:</para>
<screen><userinput>find /usr/lib /usr/libexec -name \*.la -delete</userinput></screen> <screen><userinput>find /usr/lib /usr/libexec -name \*.la -delete</userinput></screen>

View File

@ -39,16 +39,12 @@
<sect2 role="installation"> <sect2 role="installation">
<title>Installation of Eudev</title> <title>Installation of Eudev</title>
<!--
<para>First, fix a test script:</para>
<screen><userinput remap="pre">sed -r -i 's|/usr(/bin/test)|\1|' test/udev-test.pl</userinput></screen>
-->
<!--
<para>Next, remove an unneeded line that causes a build failure:</para>
<screen><userinput remap="pre">sed -i '/keyboard_lookup_key/d' src/udev/udev-builtin-keyboard.c</userinput></screen>
--> <para>First fix the location of udev rules in the .pc file:</para>
<screen><userinput remap="pre">sed -i '/udevdir/a udev_dir=${udevdir}' src/udev/udev.pc.in</userinput></screen>
<para>Prepare Eudev for compilation:</para> <para>Prepare Eudev for compilation:</para>

View File

@ -44,6 +44,10 @@
<screen><userinput remap="pre">sed -i 's/extras//' Makefile.in</userinput></screen> <screen><userinput remap="pre">sed -i 's/extras//' Makefile.in</userinput></screen>
<para>Now fix a programming error identified upstream:</para>
<screen><userinput remap="pre">sed -i '241i UPREF(m);' interpret.h</userinput></screen>
<para>Prepare Gawk for compilation:</para> <para>Prepare Gawk for compilation:</para>
<screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen> <screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen>

View File

@ -73,6 +73,8 @@ cd build</userinput></screen>
<screen><userinput remap="configure">../configure --prefix=/usr \ <screen><userinput remap="configure">../configure --prefix=/usr \
LD=ld \ LD=ld \
--enable-languages=c,c++ \ --enable-languages=c,c++ \
--enable-default-pie \
--enable-default-ssp \
--disable-multilib \ --disable-multilib \
--disable-bootstrap \ --disable-bootstrap \
--with-system-zlib</userinput></screen> --with-system-zlib</userinput></screen>
@ -103,6 +105,27 @@ cd build</userinput></screen>
</varlistentry> </varlistentry>
</variablelist> </variablelist>
<note>
<anchor id="pie-ssp-info" xreflabel="note on PIE and SSP"/>
<para>
PIE (position-independent executable) is a technique to produce
binary programs that can be loaded anywhere in memory. Without PIE,
the security feature named ASLR (Address Space Layout Randomization)
can be applied for the shared libraries, but not the exectutable
itself. Enabling PIE allows ASLR for the executables in addition to
the shared libraries, and mitigates some attacks based on fixed
addresses of sensitive code or data in the executables.
</para>
<para>
SSP (Stack Smashing Protection) is a technique to ensure
that the parameter stack is not corrupted. Stack corruption can
for example alter the return address of a subroutine,
which would allow transferring control to some dangerous code
(existing in the program or shared libraries, or injected by the
attacker somehow) instead of the original one.
</para>
</note>
<para>Compile the package:</para> <para>Compile the package:</para>
<screen><userinput remap="make">make</userinput></screen> <screen><userinput remap="make">make</userinput></screen>
@ -136,6 +159,10 @@ su tester -c "PATH=$PATH make -k check"</userinput></screen>
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.
It's because the test files do not account for the
<parameter>--enable-default-pie</parameter> option.</para>
<para>In g++, four tests related to PR100400 are known to be reported <para>In g++, four tests related to PR100400 are known to be reported
as both XPASS and FAIL. It's because the test file for this known issue as both XPASS and FAIL. It's because the test file for this known issue
is not well written.</para> is not well written.</para>
@ -199,11 +226,11 @@ readelf -l a.out | grep ': /lib'</userinput></screen>
<para>Now make sure that we're setup to use the correct start files:</para> <para>Now make sure that we're setup to use the correct start files:</para>
<screen><userinput>grep -o '/usr/lib.*/crt[1in].*succeeded' dummy.log</userinput></screen> <screen><userinput>grep -E -o '/usr/lib.*/S?crt[1in].*succeeded' dummy.log</userinput></screen>
<para>The output of the last command should be:</para> <para>The output of the last command should be:</para>
<screen><computeroutput>/usr/lib/gcc/x86_64-pc-linux-gnu/&gcc-version;/../../../../lib/crt1.o succeeded <screen><computeroutput>/usr/lib/gcc/x86_64-pc-linux-gnu/&gcc-version;/../../../../lib/Scrt1.o succeeded
/usr/lib/gcc/x86_64-pc-linux-gnu/&gcc-version;/../../../../lib/crti.o succeeded /usr/lib/gcc/x86_64-pc-linux-gnu/&gcc-version;/../../../../lib/crti.o succeeded
/usr/lib/gcc/x86_64-pc-linux-gnu/&gcc-version;/../../../../lib/crtn.o succeeded</computeroutput></screen> /usr/lib/gcc/x86_64-pc-linux-gnu/&gcc-version;/../../../../lib/crtn.o succeeded</computeroutput></screen>
@ -561,7 +588,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</para> functionality. Normally it's unused because glibc also provides
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

@ -40,6 +40,13 @@
<sect2 role="installation"> <sect2 role="installation">
<title>Installation of Grep</title> <title>Installation of Grep</title>
<para>
First, remove a warning about using egrep and fgrep that makes
tests on some packages fail:
</para>
<screen><userinput remap="pre">sed -i "s/echo/#echo/" src/egrep.sh</userinput></screen>
<para>Prepare Grep for compilation:</para> <para>Prepare Grep for compilation:</para>
<screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen> <screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen>

View File

@ -53,6 +53,8 @@
<screen><userinput remap="configure">PAGE=<replaceable>&lt;paper_size&gt;</replaceable> ./configure --prefix=/usr</userinput></screen> <screen><userinput remap="configure">PAGE=<replaceable>&lt;paper_size&gt;</replaceable> ./configure --prefix=/usr</userinput></screen>
<para>Build the package:</para>
<screen><userinput remap="make">make</userinput></screen> <screen><userinput remap="make">make</userinput></screen>
<para>This package does not come with a test suite.</para> <para>This package does not come with a test suite.</para>

View File

@ -52,7 +52,7 @@
<para>To test the results<!--(about 11.0 SBU)-->, issue:</para> <para>To test the results<!--(about 11.0 SBU)-->, issue:</para>
<screen><userinput remap="test">make check</userinput></screen> <screen><userinput remap="test">make -k check</userinput></screen>
<note><para>The test time for libtool can be reduced significantly on a <note><para>The test time for libtool can be reduced significantly on a
system with multiple cores. To do this, append system with multiple cores. To do this, append
@ -61,8 +61,9 @@
percent.</para></note> percent.</para></note>
<para>Five tests are known to fail in the LFS build environment due <para>Five tests are known to fail in the LFS build environment due
to a circular dependency, but all tests pass if rechecked after to a circular dependency, but these tests pass if rechecked after
automake is installed.</para> automake is installed. Additionally, with grep-3.8, two tests will
trigger a warning for non-POSIX regular expressions and fail.</para>
<para>Install the package:</para> <para>Install the package:</para>

View File

@ -131,8 +131,7 @@
in-place. It may crash the shell process which is using code and data in-place. It may crash the shell process which is using code and data
from the library file. Install the package with from the library file. Install the package with
<literal>DESTDIR</literal>, and replace the library file correctly using <literal>DESTDIR</literal>, and replace the library file correctly using
<command>install</command> command. A useless static archive which is <command>install</command> command:</para>
not handled by <command>configure</command> is also removed:</para>
<screen><userinput remap="install">make DESTDIR=$PWD/dest install <screen><userinput remap="install">make DESTDIR=$PWD/dest install
install -vm755 dest/usr/lib/libncursesw.so.&ncurses-version; /usr/lib install -vm755 dest/usr/lib/libncursesw.so.&ncurses-version; /usr/lib
@ -212,6 +211,7 @@ cp -av lib/lib*.so.5* /usr/lib</userinput></screen>
libformw.so, libformw.so,
libmenuw.so, libmenuw.so,
libncursesw.so, libncursesw.so,
libncurses++w.so,
libpanelw.so, and their non-wide-character counterparts without "w" libpanelw.so, and their non-wide-character counterparts without "w"
in the library names.</seg> in the library names.</seg>
<seg> <seg>
@ -366,6 +366,16 @@ cp -av lib/lib*.so.5* /usr/lib</userinput></screen>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry id="libncurses__w">
<term><filename class="libraryfile">libncurses++w</filename></term>
<listitem>
<para>Contains C++ binding for other libraries in this package</para>
<indexterm zone="ch-system-ncurses libncurses__w">
<primary sortas="c-libncurses++w">libncurses++w</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libformw"> <varlistentry id="libformw">
<term><filename class="libraryfile">libformw</filename></term> <term><filename class="libraryfile">libformw</filename></term>
<listitem> <listitem>

View File

@ -43,7 +43,7 @@
<sect2 role="installation"> <sect2 role="installation">
<title>Installation of OpenSSL</title> <title>Installation of OpenSSL</title>
<!-- <!--
<para>First fix a problem with some advanced arcitectures with avx512 <para>First fix a problem with some advanced architectures with avx512
capability:</para> capability:</para>
<screen><userinput remap="pre">sed -e '/bn_reduce.*m1/i\ factor_size /= sizeof(BN_ULONG) * 8;' \ <screen><userinput remap="pre">sed -e '/bn_reduce.*m1/i\ factor_size /= sizeof(BN_ULONG) * 8;' \

View File

@ -283,7 +283,7 @@ make DESTDIR=/usr/pkg/libfoo/1.1 install</userinput></screen>
<para>This approach is used by most of the package managers found in the <para>This approach is used by most of the package managers found in the
commercial distributions. Examples of package managers that follow this commercial distributions. Examples of package managers that follow this
approach are RPM (which, incidentally, is required by the <ulink approach are RPM (which, incidentally, is required by the <ulink
url="http://refspecs.linuxfoundation.org/lsb.shtml">Linux url="https://refspecs.linuxfoundation.org/lsb.shtml">Linux
Standard Base Specification</ulink>), pkg-utils, Debian's apt, and Standard Base Specification</ulink>), pkg-utils, Debian's apt, and
Gentoo's Portage system. A hint describing how to adopt this style of Gentoo's Portage system. A hint describing how to adopt this style of
package management for LFS systems is located at <ulink package management for LFS systems is located at <ulink
@ -296,7 +296,7 @@ make DESTDIR=/usr/pkg/libfoo/1.1 install</userinput></screen>
archives. This system purposely does not handle package dependencies archives. This system purposely does not handle package dependencies
as more complex package managers do. For details of Slackware package as more complex package managers do. For details of Slackware package
management, see <ulink management, see <ulink
url="http://www.slackbook.org/html/package-management.html"/>.</para> url="https://www.slackbook.org/html/package-management.html"/>.</para>
</sect3> </sect3>
<sect3> <sect3>

View File

@ -117,9 +117,9 @@
commands:</para> commands:</para>
<screen><userinput remap="install">cat &gt; /etc/pip.conf &lt;&lt; EOF <screen><userinput remap="install">cat &gt; /etc/pip.conf &lt;&lt; EOF
[global] <literal>[global]
root-user-action = ignore root-user-action = ignore
disable-pip-version-check = true disable-pip-version-check = true</literal>
EOF EOF
</userinput></screen> </userinput></screen>
<!-- <!--

View File

@ -167,11 +167,13 @@ EOF</userinput></screen>
<note> <note>
<para>By default, vim only installs spell files for the English language. <para>By default, vim only installs spell files for the English language.
To install spell files for your preferred language, download the To install spell files for your preferred language, copy the
<filename>*.spl</filename> and optionally, the <filename>*.sug</filename> <filename class='extension'>.spl</filename> and optionally, the
files for your language and character encoding from <ulink <filename class='extension'>.sug</filename> files for your language
url="ftp://ftp.vim.org/pub/vim/runtime/spell/"/> and save them to and character encoding from
<filename class='directory'>/usr/share/&vim-docdir;/spell/</filename>.</para> <filename class='directory'>runtime/spell</filename> into
<filename class='directory'>
/usr/share/&vim-docdir;/spell/</filename>.</para>
<para>To use these spell files, some configuration in <para>To use these spell files, some configuration in
<filename>/etc/vimrc</filename> is needed, e.g.:</para> <filename>/etc/vimrc</filename> is needed, e.g.:</para>
@ -179,8 +181,8 @@ EOF</userinput></screen>
<screen><literal>set spelllang=en,ru <screen><literal>set spelllang=en,ru
set spell</literal></screen> set spell</literal></screen>
<para>For more information, see the appropriate README file located <para>For more information, see
at the URL above.</para> <filename>runtime/spell/README.txt</filename>.</para>
</note> </note>
</sect2> </sect2>

View File

@ -23,7 +23,7 @@
<filename>/etc/vconsole.conf</filename> file for configuration <filename>/etc/vconsole.conf</filename> file for configuration
information. Decide which keymap and screen font will be used. Various information. Decide which keymap and screen font will be used. Various
language-specific HOWTOs can also help with this, see <ulink language-specific HOWTOs can also help with this, see <ulink
url="http://www.tldp.org/HOWTO/HOWTO-INDEX/other-lang.html"/>. url="https://tldp.org/HOWTO/HOWTO-INDEX/other-lang.html"/>.
Examine the output of <command>localectl list-keymaps</command> for a list of Examine the output of <command>localectl list-keymaps</command> for a list of
valid console keymaps. Look in the valid console keymaps. Look in the
<filename class="directory">/usr/share/consolefonts</filename> <filename class="directory">/usr/share/consolefonts</filename>

View File

@ -325,7 +325,7 @@
<listitem> <listitem>
<para>The <systemitem class="filesystem">sysfs</systemitem> Filesystem <para>The <systemitem class="filesystem">sysfs</systemitem> Filesystem
<ulink url="http://www.kernel.org/pub/linux/kernel/people/mochel/doc/papers/ols-2005/mochel.pdf"/></para> <ulink url="https://www.kernel.org/pub/linux/kernel/people/mochel/doc/papers/ols-2005/mochel.pdf"/></para>
</listitem> </listitem>
<!-- No longer available <!-- No longer available

View File

@ -334,7 +334,7 @@ EOF</userinput></screen>
<filename>/etc/sysconfig/console</filename> file for configuration <filename>/etc/sysconfig/console</filename> file for configuration
information. Decide which keymap and screen font will be used. Various information. Decide which keymap and screen font will be used. Various
language-specific HOWTOs can also help with this, see <ulink language-specific HOWTOs can also help with this, see <ulink
url="http://www.tldp.org/HOWTO/HOWTO-INDEX/other-lang.html"/>. If still in url="https://tldp.org/HOWTO/HOWTO-INDEX/other-lang.html"/>. If still in
doubt, look in the <filename class="directory">/usr/share/keymaps</filename> doubt, look in the <filename class="directory">/usr/share/keymaps</filename>
and <filename class="directory">/usr/share/consolefonts</filename> directories and <filename class="directory">/usr/share/consolefonts</filename> directories
for valid keymaps and screen fonts. Read <filename>loadkeys(1)</filename> and for valid keymaps and screen fonts. Read <filename>loadkeys(1)</filename> and

View File

@ -105,9 +105,15 @@
<para>Be sure to enable/disable/set the following features or the system might <para>Be sure to enable/disable/set the following features or the system might
not work correctly or boot at all:</para> not work correctly or boot at all:</para>
<screen role="nodump" revision="sysv">General setup --> <screen role="nodump" revision="sysv">Processor type and features ---&gt;
[*] Build a relocatable kernel [CONFIG_RELOCATABLE]
[*] Randomize the address of the kernel image (KASLR) [CONFIG_RANDOMIZE_BASE]
General setup ---&gt;
[ ] Compile the kernel with warnings as errors [CONFIG_WERROR] [ ] Compile the kernel with warnings as errors [CONFIG_WERROR]
&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]
General architecture-dependent options ---&gt;
[*] Stack Protector buffer overflow detection [CONFIG_STACKPROTECTOR]
[*] Strong Stack Protector [CONFIG_STACKPROTECTOR_STRONG]
Device Drivers ---&gt; Device Drivers ---&gt;
Graphics support ---&gt; Graphics support ---&gt;
Frame buffer Devices ---&gt; Frame buffer Devices ---&gt;
@ -117,7 +123,10 @@ Device Drivers ---&gt;
[*] Maintain a devtmpfs filesystem to mount at /dev [CONFIG_DEVTMPFS] [*] Maintain a devtmpfs filesystem to mount at /dev [CONFIG_DEVTMPFS]
[*] Automount devtmpfs at /dev, after the kernel mounted the rootfs [CONFIG_DEVTMPFS_MOUNT]</screen> [*] Automount devtmpfs at /dev, after the kernel mounted the rootfs [CONFIG_DEVTMPFS_MOUNT]</screen>
<screen role="nodump" revision="systemd">General setup --> <screen role="nodump" revision="systemd">Processor type and features ---&gt;
[*] Build a relocatable kernel [CONFIG_RELOCATABLE]
[*] Randomize the address of the kernel image (KASLR) [CONFIG_RANDOMIZE_BASE]
General setup ---&gt;
[ ] Compile the kernel with warnings as errors [CONFIG_WERROR] [ ] Compile the kernel with warnings as errors [CONFIG_WERROR]
[ ] Auditing Support [CONFIG_AUDIT] [ ] Auditing Support [CONFIG_AUDIT]
CPU/Task time and stats accounting ---&gt; CPU/Task time and stats accounting ---&gt;
@ -130,6 +139,8 @@ Device Drivers ---&gt;
[*] open by fhandle syscalls [CONFIG_FHANDLE] [*] open by fhandle syscalls [CONFIG_FHANDLE]
General architecture-dependent options ---&gt; General architecture-dependent options ---&gt;
[*] Enable seccomp to safely compute untrusted bytecode [CONFIG_SECCOMP] [*] Enable seccomp to safely compute untrusted bytecode [CONFIG_SECCOMP]
[*] Stack Protector buffer overflow detection [CONFIG_STACKPROTECTOR]
[*] Strong Stack Protector [CONFIG_STACKPROTECTOR_STRONG]
Networking support ---&gt; Networking support ---&gt;
Networking options ---&gt; Networking options ---&gt;
&lt;*&gt; The IPv6 protocol [CONFIG_IPV6] &lt;*&gt; The IPv6 protocol [CONFIG_IPV6]
@ -159,8 +170,6 @@ File systems ---&gt;
<screen role="nodump">Processor type and features ---&gt; <screen role="nodump">Processor type and features ---&gt;
[*] Support x2apic [CONFIG_X86_X2APIC] [*] Support x2apic [CONFIG_X86_X2APIC]
Memory Management options ---&gt;
[ ] Enable userfaultfd() system call [CONFIG_USERFAULTFD]
Device Drivers ---&gt; Device Drivers ---&gt;
[*] PCI Support ---&gt; [CONFIG_PCI] [*] PCI Support ---&gt; [CONFIG_PCI]
[*] Message Signaled Interrupts (MSI and MSI-X) [CONFIG_PCI_MSI] [*] Message Signaled Interrupts (MSI and MSI-X) [CONFIG_PCI_MSI]
@ -190,6 +199,14 @@ Device Drivers ---&gt;
<variablelist> <variablelist>
<title>The rationale for the above configuration items:</title> <title>The rationale for the above configuration items:</title>
<varlistentry>
<term><parameter>Randomize the address of the kernel image (KASLR)</parameter></term>
<listitem>
<para>Enable ASLR for kernel image, to mitigate some attacks based
on fixed addresses of sensitive data or code in the kernel.</para>
</listitem>
</varlistentry>
<varlistentry> <varlistentry>
<term> <term>
<parameter> <parameter>
@ -215,6 +232,16 @@ Device Drivers ---&gt;
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry>
<term><parameter>Strong Stack Protector</parameter></term>
<listitem>
<para>Enable SSP for the kernel. We've enabled it for the entire
userspace with <parameter>--enable-default-ssp</parameter>
configuring GCC, but the kernel does not use GCC default setting
for SSP. We enable it explicitly here.</para>
</listitem>
</varlistentry>
<varlistentry> <varlistentry>
<term><parameter>Support for uevent helper</parameter></term> <term><parameter>Support for uevent helper</parameter></term>
<listitem> <listitem>
@ -254,16 +281,6 @@ Device Drivers ---&gt;
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry>
<term><parameter>Enable userfaultfd() system call</parameter></term>
<listitem>
<para>If this option is enabled, a security vulnerability not
resolved in Linux-&linux-version; yet will be exploitable.
Disable this option to avoid the vulnerability. This system call
is not used by any part of LFS or BLFS.</para>
</listitem>
</varlistentry>
</variablelist> </variablelist>
<para>Alternatively, <command>make oldconfig</command> may be more <para>Alternatively, <command>make oldconfig</command> may be more

261
chapter11/afterlfs.xml Normal file
View File

@ -0,0 +1,261 @@
<?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="afterlfs">
<?dbhtml filename="afterlfs.html"?>
<title>Getting Started After LFS</title>
<sect2>
<title>Deciding what to do next</title>
<para>
Now that LFS is complete and you have a bootable system, what do you do?
The next step is to decide how to use it. Generally, there are two broad
categories to consider: workstation or server. Indeed, these categories
are not mutually exclusive. The applications needed for each category
can be combined onto a single system, but let's look at them separately
for now.
</para>
<para>
A server is the simpler category. Generally this consists of a web
server such as the
<ulink url="&blfs-book;server/apache.html">Apache HTTP Server</ulink>
and a database server such as
<ulink url="&blfs-book;server/mariadb.html">MariaDB</ulink>.
However other services are possible. The operating system
embedded in a single use device falls into this category.
</para>
<para>
On the other hand, a workstation is much more complex. It generally
requires a graphical user environment such as
<ulink url="&blfs-book;lxde/lxde.html">LXDE</ulink>,
<ulink url="&blfs-book;xfce/xfce.html">XFCE</ulink>,
<ulink url="&blfs-book;kde/kde.html">KDE</ulink>, or
<ulink url="&blfs-book;gnome/gnome.html">Gnome</ulink>
based on a basic
<ulink url="&blfs-book;x/installing.html">graphical environment</ulink>
and several graphical based applications such as the
<ulink url="&blfs-book;xsoft/firefox.html">Firefox web browser</ulink>,
<ulink url="&blfs-book;xsoft/thunderbird.html">Thunderbird email client</ulink>,
or
<ulink url="&blfs-book;xsoft/libreoffice.html">LibreOffice office suite</ulink>.
These applications require many (several hundred depending on
desired capabilities) more packages of support applications and
libraries.
</para>
<para>
In addition to the above, there is a set of applications for system
management for all kinds of systems. These applications are all in the
BLFS book. Not all packages are needed in every environments. For
example <ulink url="&blfs-book;basicnet/dhcpcd.html">dhcpcd</ulink>, is
not normally appropriate for a server and <ulink
url="&blfs-book;basicnet/wireless_tools.html">wireless_tools</ulink>,
are normally only useful for a laptop system.
</para>
</sect2>
<sect2>
<title>Working in a basic LFS environment</title>
<para>
When you initially boot into LFS, you have all the internal tools to build
additional packages. Unfortunately, the user environment is quite sparse.
There are a couple of ways to improve this:
</para>
<sect3>
<title>Work from the LFS host in chroot</title>
<para>
This method provides a complete graphical environment where a full
featured browser and copy/paste capabilites are available. This method
allows using applications like the host's version of wget to download
package sources to a location available when working in the chroot
envirnment.
</para>
<para>
In order to properly build packages in chroot, you will also need to
remember to mount the virtual file systems if they are not already
mounted. One way to do this is to create a script on the
<emphasis role="bold">HOST</emphasis> system:
</para>
<screen><command>cat &gt; ~/mount-virt.sh &lt;&lt; "EOF"
#!/bin/bash
function mountbind
{
if ! mountpoint $LFS/$1 >/dev/null; then
$SUDO mount --bind /$1 $LFS/$1
echo $LFS/$1 mounted
else
echo $LFS/$1 already mounted
fi
}
function mounttype
{
if ! mountpoint $LFS/$1 >/dev/null; then
$SUDO mount -t $2 $3 $4 $5 $LFS/$1
echo $LFS/$1 mounted
else
echo $LFS/$1 already mounted
fi
}
if [ $EUID -ne 0 ]; then
SUDO=sudo
else
SUDO=""
fi
if [ x$LFS == x ]; then
echo "LFS not set"
exit 1
fi
mountbind dev
mounttype dev/pts devpts devpts -o gid=5,mode=620
mounttype proc proc proc
mounttype sys sysfs sysfs
mounttype run tmpfs run
mkdir $LFS/run/shm
#mountbind usr/src
#mountbind boot
#mountbind home
EOF</command></screen>
<para>
Note that the last three commands in the script are commented out. These
are useful if those directories are mounted as separate partitions on the
host system and will be mounted when booting the completed LFS/BLFS system.
</para>
<para>
The script can be run with <command>bash ~/mount-virt.sh</command> as
either a regular user (recommended) or as &root;. If run as a regular
user, sudo is required on the host system.
</para>
<para>
Another issue pointed out by the script is where to store downloaded
package files. This location is arbitrary. It can be in a regular
user's home directory such as ~/sources or in a global location like
/usr/src. Our recommendation is not to mix BLFS sources and LFS sources
in (from the chroot environment) /sources. In any case, the packages
must be accessible inside the chroot environment.
</para>
<para>
A last convenience feature presented here is to streamline the process
of entering the chroot environment. This can be done with an alias
placed in a user's ~/.bashrc file on the host system:
</para>
<screen><command>alias lfs='sudo /usr/sbin/chroot /mnt/lfs /usr/bin/env -i HOME=/root TERM="$TERM" PS1="\u:\w\\\\$ "
PATH=/bin:/usr/bin:/sbin:/usr/sbin /bin/bash --login'</command></screen>
<para>
This alias is a little tricky because of the quoting and levels of
backslash characters. It must be all on a single line. The above command
has been split in two for presentation purposes.
</para>
</sect3>
<sect3>
<title>Work remotely via ssh</title>
<para>
This method also provides a full graphical environment, but first
requires installing
<ulink url="&blfs-book;postlfs/openssh.html">sshd</ulink> and
<ulink url="&blfs-book;basicnet/wget.html">wget</ulink>
on the LFS system, usually in chroot. It also requires a second
computer. This method has the advantage of being simple by not requiring
the complexity of the chroot environment. It also uses your LFS built
kernel for all additional packages and still provides a complete system
for installing packages.
</para>
</sect3>
<sect3>
<title>Work from the LFS command line</title>
<para>
This method requires installing
<ulink url="&blfs-book;general/libtasn1.html">libtasn1</ulink>,
<ulink url="&blfs-book;postlfs/p11-kit.html">p11-kit</ulink>,
<ulink url="&blfs-book;postlfs/make-ca.html">make-ca</ulink>,
<ulink url="&blfs-book;basicnet/wget.html">wget</ulink>,
<ulink url="&blfs-book;general/gpm.html">gpm</ulink>, and
<ulink url="&blfs-book;basicnet/links.html">links</ulink>
(or <ulink url="&blfs-book;basicnet/lynx.html">lynx</ulink>)
in chroot and then rebooting into the new LFS system. At this
point the default system has six virtual consoles. Switching
consoles is as easy as using the
<keycombo>
<keycap>Alt</keycap>
<keycap>Fx</keycap>
</keycombo>
key combinations where <keycap>Fx</keycap> is
between <keycap>F1</keycap> and <keycap>F6</keycap>.
The
<keycombo>
<keycap>Alt</keycap>
<keycap function='left'/>
</keycombo>
and
<keycombo>
<keycap>Alt</keycap>
<keycap function='right'/>
</keycombo>
combinations also will change the console.
</para>
<para>
At this point you can log into two different virtual consoles and run
the links or lynx browser in one console and bash in the other. GPM
then allows copying commands from the browser with the left mouse
button, switching consoles, and pasting into the other console.
</para>
<note>
<para>
As a side note, switching of virtual consoles can also be done from
an X Window instance with the
<keycombo>
<keycap>Ctrl</keycap>
<keycap>Alt</keycap>
<keycap>Fx</keycap>
</keycombo>
key combination, but the mouse copy operation does not work
between the graphical interface and a virtual console. You can
return to the X Window display with the
<keycombo>
<keycap>Ctrl</keycap>
<keycap>Alt</keycap>
<keycap>Fx</keycap>
</keycombo>
combination, where <keycap>Fx</keycap> is usually
<keycap>F1</keycap> but may be <keycap>F7</keycap>.
</para>
</note>
</sect3>
</sect2>
</sect1>

View File

@ -15,5 +15,6 @@
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="getcounted.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="getcounted.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="reboot.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="reboot.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="whatnow.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="whatnow.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="afterlfs.xml"/>
</chapter> </chapter>

View File

@ -9,17 +9,22 @@
<?dbhtml filename="reboot.html"?> <?dbhtml filename="reboot.html"?>
<title>Rebooting the System</title> <title>Rebooting the System</title>
<para>
Now that all of the software has been installed, it is time to reboot
your computer. However, there are still a few things to check.
Here are some suggestions:</para>
<para>Now that all of the software has been installed, it is time to reboot
your computer. However, you should be aware of a few things. The system you <!--
The system you
have created in this book is quite minimal, and most likely will not have have created in this book is quite minimal, and most likely will not have
the functionality you would need to be able to continue forward. By installing the functionality you would need to be able to continue forward. By installing
a few extra packages from the BLFS book while still in our current chroot a few extra packages from the BLFS book while still in our current chroot
environment, you can leave yourself in a much better position to continue on environment, you can leave yourself in a much better position to continue on
once you reboot into your new LFS installation. Here are some suggestions:</para> once you reboot into your new LFS installation. Here are some suggestions:</para>
-->
<itemizedlist> <itemizedlist>
<!--
<listitem><para>A text mode browser such as <ulink <listitem><para>A text mode browser such as <ulink
url='&blfs-book;basicnet/lynx.html'>Lynx</ulink> url='&blfs-book;basicnet/lynx.html'>Lynx</ulink>
will allow you to easily view the BLFS book in one virtual terminal, while will allow you to easily view the BLFS book in one virtual terminal, while
@ -60,14 +65,21 @@
install <ulink install <ulink
url='&blfs-book;basicnet/wpa_supplicant.html'>wpa_supplicant</ulink>. url='&blfs-book;basicnet/wpa_supplicant.html'>wpa_supplicant</ulink>.
</para></listitem> </para></listitem>
-->
<listitem>
<para>
Install any <ulink
url='&blfs-book;postlfs/firmware.html'>firmware</ulink> needed if the
kernel driver for your hardware requires some firmware files to function
properly.
</para>
</listitem>
<listitem><para>Install <ulink <listitem>
url='&blfs-book;postlfs/firmware.html'>firmwares</ulink> if the kernel <para>
driver for your hardware require some firmware to function properly. A review of the following configuration files
</para></listitem> is also appropriate at this point.
</para>
<listitem><para>Finally, a review of the following configuration files
is also appropriate at this point.</para>
<itemizedlist> <itemizedlist>
<listitem><para>/etc/bashrc </para></listitem> <listitem><para>/etc/bashrc </para></listitem>
@ -97,7 +109,7 @@
<screen role="nodump"><userinput>sync</userinput></screen> <screen role="nodump"><userinput>sync</userinput></screen>
<para>Now, reboot the system with:</para> <para>Now, reboot the system:</para>
<screen role="nodump"><userinput>reboot -ff</userinput></screen> <screen role="nodump"><userinput>reboot -ff</userinput></screen>

View File

@ -60,8 +60,7 @@ PRETTY_NAME="Linux From Scratch &version;"
VERSION_CODENAME="&lt;your name here&gt;" VERSION_CODENAME="&lt;your name here&gt;"
EOF</userinput></screen> EOF</userinput></screen>
<para>Be sure to put some sort of customization for the fields <para>Be sure to customize the fields 'DISTRIB_CODENAME' and
'DISTRIB_CODENAME' and 'VERSION_CODENAME' to make the system uniquely 'VERSION_CODENAME' to make the system uniquely yours.</para>
yours.</para>
</sect1> </sect1>

View File

@ -8,7 +8,7 @@
<sect1 id="ch-finish-whatnow"> <sect1 id="ch-finish-whatnow">
<?dbhtml filename="whatnow.html"?> <?dbhtml filename="whatnow.html"?>
<title>What Now?</title> <title>Additional Resources</title>
<para>Thank you for reading this LFS book. We hope that you have <para>Thank you for reading this LFS book. We hope that you have
found this book helpful and have learned more about the system found this book helpful and have learned more about the system
@ -31,27 +31,23 @@
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para><ulink url="http://www.cert.org/">CERT</ulink> (Computer <para><ulink url="&lfs-root;lfs/advisories/">LFS Security Advisories</ulink></para>
Emergency Response Team)</para>
<para>CERT has a mailing list that publishes security alerts concerning <para>This is a list of security vulnerabilities discovered in the
various operating systems and applications. Subscription information is LFS book after it's published.</para>
available at <ulink
url="http://www.us-cert.gov/cas/signup.html"/>.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>Bugtraq</para> <para><ulink url="https://seclists.org/oss-sec/">Open Source Security
Mailing List</ulink></para>
<para>Bugtraq is a full-disclosure computer security mailing list. It <para>This is a mailing list for discussion of security flaws,
publishes newly discovered security issues, and occasionally potential concepts, and practices in the Open Source community.</para>
fixes for them. Subscription information is available at <ulink
url="http://www.securityfocus.com/archive"/>.</para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</listitem> </listitem>
<!--
<listitem> <listitem>
<para>Beyond Linux From Scratch</para> <para>Beyond Linux From Scratch</para>
@ -60,7 +56,7 @@
Book. The BLFS project is located at <ulink url="&blfs-book;"/>. Book. The BLFS project is located at <ulink url="&blfs-book;"/>.
</para> </para>
</listitem> </listitem>
-->
<listitem> <listitem>
<para>LFS Hints</para> <para>LFS Hints</para>
@ -85,7 +81,7 @@
<para>The goal of The Linux Documentation Project (TLDP) is to <para>The goal of The Linux Documentation Project (TLDP) is to
collaborate on all of the issues of Linux documentation. The TLDP features collaborate on all of the issues of Linux documentation. The TLDP features
a large collection of HOWTOs, guides, and man pages. It is located at a large collection of HOWTOs, guides, and man pages. It is located at
<ulink url="http://www.tldp.org/"/>.</para> <ulink url="https://tldp.org/"/>.</para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>

View File

@ -34,7 +34,7 @@ function find_max( $lines, $regex_match, $regex_replace )
// Isolate the version and put in an array // Isolate the version and put in an array
$slice = preg_replace( $regex_replace, "$1", $line ); $slice = preg_replace( $regex_replace, "$1", $line );
if ( $slice == $line ) continue; if ( strcmp( $slice, $line ) == 0 ) continue;
array_push( $a, $slice ); array_push( $a, $slice );
} }
@ -266,6 +266,15 @@ if ( $package == "zstd" ) $dirpath = "https://github.com/facebook/zstd/rel
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 == "XML-Parser" ) if ( $package == "XML-Parser" )
{ {
$max = find_max( $lines, "/$package/", "/^.*$package-([\d\._]*\d).tar.*$/" ); $max = find_max( $lines, "/$package/", "/^.*$package-([\d\._]*\d).tar.*$/" );

View File

@ -58,10 +58,10 @@
<!ENTITY bash-fin-du "50 MB"> <!ENTITY bash-fin-du "50 MB">
<!ENTITY bash-fin-sbu "1.4 SBU"> <!ENTITY bash-fin-sbu "1.4 SBU">
<!ENTITY bc-version "6.0.1"> <!ENTITY bc-version "6.0.2">
<!ENTITY bc-size "441 KB"> <!ENTITY bc-size "442 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 "4c8b8d51eb52ee66f5bcf6a6a1ca576e"> <!ENTITY bc-md5 "101e62dd9c2b90bf18c38d858aa36f0d">
<!ENTITY bc-home "https://git.yzena.com/gavin/bc"> <!ENTITY bc-home "https://git.yzena.com/gavin/bc">
<!ENTITY bc-fin-du "7.4 MB"> <!ENTITY bc-fin-du "7.4 MB">
<!ENTITY bc-fin-sbu "less than 0.1 SBU"> <!ENTITY bc-fin-sbu "less than 0.1 SBU">
@ -179,10 +179,10 @@
<!ENTITY expect-tmp-du "3.9 MB"> <!ENTITY expect-tmp-du "3.9 MB">
<!ENTITY expect-tmp-sbu "0.2 SBU"> <!ENTITY expect-tmp-sbu "0.2 SBU">
<!ENTITY file-version "5.42"> <!ENTITY file-version "5.43">
<!ENTITY file-size "1,080 KB"> <!ENTITY file-size "1,136 KB">
<!ENTITY file-url "https://astron.com/pub/file/file-&file-version;.tar.gz"> <!ENTITY file-url "https://astron.com/pub/file/file-&file-version;.tar.gz">
<!ENTITY file-md5 "4d4f70c3b08a8a70d8baf67f085d7e92"> <!ENTITY file-md5 "8effd70da368210a6c6eece037f978eb">
<!ENTITY file-home "https://www.darwinsys.com/file/"> <!ENTITY file-home "https://www.darwinsys.com/file/">
<!ENTITY file-tmp-du "34 MB"> <!ENTITY file-tmp-du "34 MB">
<!ENTITY file-tmp-sbu "0.2 SBU"> <!ENTITY file-tmp-sbu "0.2 SBU">
@ -207,10 +207,10 @@
<!ENTITY flex-fin-du "33 MB"> <!ENTITY flex-fin-du "33 MB">
<!ENTITY flex-fin-sbu "0.4 SBU"> <!ENTITY flex-fin-sbu "0.4 SBU">
<!ENTITY gawk-version "5.1.1"> <!ENTITY gawk-version "5.2.0">
<!ENTITY gawk-size "3,075 KB"> <!ENTITY gawk-size "3,307 KB">
<!ENTITY gawk-url "&gnu;gawk/gawk-&gawk-version;.tar.xz"> <!ENTITY gawk-url "&gnu;gawk/gawk-&gawk-version;.tar.xz">
<!ENTITY gawk-md5 "83650aa943ff2fd519b2abedf8506ace"> <!ENTITY gawk-md5 "2f724d925873fc82f5e7b1d605ba9a42">
<!ENTITY gawk-home "&gnu-software;gawk/"> <!ENTITY gawk-home "&gnu-software;gawk/">
<!ENTITY gawk-tmp-du "45 MB"> <!ENTITY gawk-tmp-du "45 MB">
<!ENTITY gawk-tmp-sbu "0.2 SBU"> <!ENTITY gawk-tmp-sbu "0.2 SBU">
@ -281,10 +281,10 @@
<!ENTITY gperf-fin-du "6.0 MB"> <!ENTITY gperf-fin-du "6.0 MB">
<!ENTITY gperf-fin-sbu "less than 0.1 SBU"> <!ENTITY gperf-fin-sbu "less than 0.1 SBU">
<!ENTITY grep-version "3.7"> <!ENTITY grep-version "3.8">
<!ENTITY grep-size "1,603 KB"> <!ENTITY grep-size "1,670 KB">
<!ENTITY grep-url "&gnu;grep/grep-&grep-version;.tar.xz"> <!ENTITY grep-url "&gnu;grep/grep-&grep-version;.tar.xz">
<!ENTITY grep-md5 "7c9cca97fa18670a21e72638c3e1dabf"> <!ENTITY grep-md5 "dc6e4d18d4659e6e7552fc4a183c8ac9">
<!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">
@ -378,10 +378,10 @@
<!ENTITY kmod-fin-du "12 MB"> <!ENTITY kmod-fin-du "12 MB">
<!ENTITY kmod-fin-sbu "0.1 SBU"> <!ENTITY kmod-fin-sbu "0.1 SBU">
<!ENTITY less-version "590"> <!ENTITY less-version "608">
<!ENTITY less-size "348 KB"> <!ENTITY less-size "354 KB">
<!ENTITY less-url "https://www.greenwoodsoftware.com/less/less-&less-version;.tar.gz"> <!ENTITY less-url "https://www.greenwoodsoftware.com/less/less-&less-version;.tar.gz">
<!ENTITY less-md5 "f029087448357812fba450091a1172ab"> <!ENTITY less-md5 "1cdec714569d830a68f4cff11203cdba">
<!ENTITY less-home "https://www.greenwoodsoftware.com/less/"> <!ENTITY less-home "https://www.greenwoodsoftware.com/less/">
<!ENTITY less-fin-du "4.2 MB"> <!ENTITY less-fin-du "4.2 MB">
<!ENTITY less-fin-sbu "less than 0.1 SBU"> <!ENTITY less-fin-sbu "less than 0.1 SBU">
@ -414,7 +414,7 @@
<!ENTITY libpipeline-size "954 KB"> <!ENTITY libpipeline-size "954 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 "829c9ba46382b0b3e12dd11fcbc1bb27">
<!ENTITY libpipeline-home "http://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">
@ -428,12 +428,12 @@
<!ENTITY linux-major-version "5"> <!ENTITY linux-major-version "5">
<!ENTITY linux-minor-version "19"> <!ENTITY linux-minor-version "19">
<!ENTITY linux-patch-version "2"> <!ENTITY linux-patch-version "8">
<!--<!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 "128,553 KB"> <!ENTITY linux-size "128,547 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 "391274e2e49a881403b0ff2e0712bf82"> <!ENTITY linux-md5 "ae08d14f9b7ed3d47c0d22b6d235507a">
<!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,
@ -493,10 +493,10 @@
<!ENTITY markupsafe-fin-du "168 KB"> <!ENTITY markupsafe-fin-du "168 KB">
<!ENTITY markupsafe-fin-sbu "less than 0.1 SBU"> <!ENTITY markupsafe-fin-sbu "less than 0.1 SBU">
<!ENTITY meson-version "0.63.1"> <!ENTITY meson-version "0.63.2">
<!ENTITY meson-size "2,016 KB"> <!ENTITY meson-size "2,016 KB">
<!ENTITY meson-url "&github;/mesonbuild/meson/releases/download/&meson-version;/meson-&meson-version;.tar.gz"> <!ENTITY meson-url "&github;/mesonbuild/meson/releases/download/&meson-version;/meson-&meson-version;.tar.gz">
<!ENTITY meson-md5 "078e59d11a72b74c3bd78cb8205e9ed7"> <!ENTITY meson-md5 "12ae3150982645790a4f8a8e8795173c">
<!ENTITY meson-home "https://mesonbuild.com"> <!ENTITY meson-home "https://mesonbuild.com">
<!ENTITY meson-fin-du "38 MB"> <!ENTITY meson-fin-du "38 MB">
<!ENTITY meson-fin-sbu "less than 0.1 SBU"> <!ENTITY meson-fin-sbu "less than 0.1 SBU">
@ -505,7 +505,7 @@
<!ENTITY mpc-size "820 KB"> <!ENTITY mpc-size "820 KB">
<!ENTITY mpc-url "https://ftp.gnu.org/gnu/mpc/mpc-&mpc-version;.tar.gz"> <!ENTITY mpc-url "https://ftp.gnu.org/gnu/mpc/mpc-&mpc-version;.tar.gz">
<!ENTITY mpc-md5 "9f16c976c25bb0f76b50be749cd7a3a8"> <!ENTITY mpc-md5 "9f16c976c25bb0f76b50be749cd7a3a8">
<!ENTITY mpc-home "http://www.multiprecision.org/"> <!ENTITY mpc-home "https://www.multiprecision.org/">
<!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">
@ -527,10 +527,10 @@
<!ENTITY ncurses-fin-du "45 MB"> <!ENTITY ncurses-fin-du "45 MB">
<!ENTITY ncurses-fin-sbu "0.4 SBU"> <!ENTITY ncurses-fin-sbu "0.4 SBU">
<!ENTITY ninja-version "1.11.0"> <!ENTITY ninja-version "1.11.1">
<!ENTITY ninja-size "228 KB"> <!ENTITY ninja-size "225 KB">
<!ENTITY ninja-url "&github;/ninja-build/ninja/archive/v&ninja-version;/ninja-&ninja-version;.tar.gz"> <!ENTITY ninja-url "&github;/ninja-build/ninja/archive/v&ninja-version;/ninja-&ninja-version;.tar.gz">
<!ENTITY ninja-md5 "7d1a1a2f5cdc06795b3054df5c17d5ef"> <!ENTITY ninja-md5 "32151c08211d7ca3c1d832064f6939b0">
<!ENTITY ninja-home "https://ninja-build.org/"> <!ENTITY ninja-home "https://ninja-build.org/">
<!ENTITY ninja-fin-du "79 MB"> <!ENTITY ninja-fin-du "79 MB">
<!ENTITY ninja-fin-sbu "0.6 SBU"> <!ENTITY ninja-fin-sbu "0.6 SBU">
@ -594,19 +594,19 @@
<!-- If python minor version changes, updates in python and <!-- If python minor version changes, updates in python and
meson pages will be needed: python3.6 and python3.6m --> meson pages will be needed: python3.6 and python3.6m -->
<!ENTITY python-version "3.10.6"> <!ENTITY python-version "3.10.7">
<!ENTITY python-minor "3.10"> <!ENTITY python-minor "3.10">
<!ENTITY python-size "19,142 KB"> <!ENTITY python-size "19,159 KB">
<!ENTITY python-url "https://www.python.org/ftp/python/&python-version;/Python-&python-version;.tar.xz"> <!ENTITY python-url "https://www.python.org/ftp/python/&python-version;/Python-&python-version;.tar.xz">
<!ENTITY python-md5 "afc7e14f7118d10d1ba95ae8e2134bf0"> <!ENTITY python-md5 "b8094f007b3a835ca3be6bdf8116cccc">
<!ENTITY python-home "https://www.python.org/"> <!ENTITY python-home "https://www.python.org/">
<!ENTITY python-tmp-du "364 MB"> <!ENTITY python-tmp-du "364 MB">
<!ENTITY python-tmp-sbu "0.9 SBU"> <!ENTITY python-tmp-sbu "0.9 SBU">
<!ENTITY python-fin-du "283 MB"> <!ENTITY python-fin-du "283 MB">
<!ENTITY python-fin-sbu "3.4 SBU"> <!ENTITY python-fin-sbu "3.4 SBU">
<!ENTITY python-docs-url "https://www.python.org/ftp/python/doc/&python-version;/python-&python-version;-docs-html.tar.bz2"> <!ENTITY python-docs-url "https://www.python.org/ftp/python/doc/&python-version;/python-&python-version;-docs-html.tar.bz2">
<!ENTITY python-docs-md5 "8f32c4f4f0b18ec56e8b3822bbaeb017"> <!ENTITY python-docs-md5 "d5923c417995334e72c2561812905d23">
<!ENTITY python-docs-size "7,321 KB"> <!ENTITY python-docs-size "7,176 KB">
<!ENTITY readline-version "8.1.2"> <!ENTITY readline-version "8.1.2">
<!ENTITY readline-soversion "8.1"><!-- used for stripping --> <!ENTITY readline-soversion "8.1"><!-- used for stripping -->
@ -627,10 +627,10 @@
<!ENTITY sed-fin-du "31 MB"> <!ENTITY sed-fin-du "31 MB">
<!ENTITY sed-fin-sbu "0.4 SBU"> <!ENTITY sed-fin-sbu "0.4 SBU">
<!ENTITY shadow-version "4.12.2"> <!ENTITY shadow-version "4.12.3">
<!ENTITY shadow-size "1,706 KB"> <!ENTITY shadow-size "1,707 KB">
<!ENTITY shadow-url "&github;/shadow-maint/shadow/releases/download/&shadow-version;/shadow-&shadow-version;.tar.xz"> <!ENTITY shadow-url "&github;/shadow-maint/shadow/releases/download/&shadow-version;/shadow-&shadow-version;.tar.xz">
<!ENTITY shadow-md5 "52637cb34c357acf85c617cf95da34a6"> <!ENTITY shadow-md5 "710bcc89c39683609aacfef9f08bd854">
<!ENTITY shadow-home "https://shadow-maint.github.io/shadow/"> <!ENTITY shadow-home "https://shadow-maint.github.io/shadow/">
<!ENTITY shadow-fin-du "46 MB"> <!ENTITY shadow-fin-du "46 MB">
<!ENTITY shadow-fin-sbu "0.2 SBU"> <!ENTITY shadow-fin-sbu "0.2 SBU">

View File

@ -30,7 +30,7 @@
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para>Software-Building-HOWTO <para>Software-Building-HOWTO
<ulink url="http://www.tldp.org/HOWTO/Software-Building-HOWTO.html"/></para> <ulink url="https://tldp.org/HOWTO/Software-Building-HOWTO.html"/></para>
<para>This is a comprehensive guide to building and installing <para>This is a comprehensive guide to building and installing
<quote>generic</quote> Unix software packages under Linux. Although it <quote>generic</quote> Unix software packages under Linux. Although it
@ -40,7 +40,7 @@
<listitem> <listitem>
<para>Beginner's Guide to Installing from Source <para>Beginner's Guide to Installing from Source
<ulink url="http://moi.vonos.net/linux/beginners-installing-from-source/"/></para> <ulink url="https://moi.vonos.net/linux/beginners-installing-from-source/"/></para>
<para>This guide provides a good summary of basic skills and <para>This guide provides a good summary of basic skills and
techniques needed to build software from source code.</para> techniques needed to build software from source code.</para>

View File

@ -18,17 +18,17 @@
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para><ulink url="http://pubs.opengroup.org/onlinepubs/9699919799/"> <para><ulink url="https://pubs.opengroup.org/onlinepubs/9699919799/">
POSIX.1-2008</ulink>.</para> POSIX.1-2008</ulink>.</para>
</listitem> </listitem>
<listitem> <listitem>
<para><ulink <para><ulink
url="http://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html"> url="https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html">
Filesystem Hierarchy Standard (FHS) Version 3.0</ulink></para> Filesystem Hierarchy Standard (FHS) Version 3.0</ulink></para>
</listitem> </listitem>
<listitem> <listitem>
<para><ulink url="http://refspecs.linuxfoundation.org/lsb.shtml">Linux <para><ulink url="https://refspecs.linuxfoundation.org/lsb.shtml">Linux
Standard Base (LSB) Version 5.0 (2015)</ulink></para> Standard Base (LSB) Version 5.0 (2015)</ulink></para>
<para>The LSB has four separate standards: Core, Desktop, <para>The LSB has four separate standards: Core, Desktop,