diff --git a/appendices/dependencies.xml b/appendices/dependencies.xml
index 9d92de448..8c3c29ad3 100644
--- a/appendices/dependencies.xml
+++ b/appendices/dependencies.xml
@@ -1980,6 +1980,44 @@
+
+ Lz4
+
+
+ &dependencies;
+
+ Bash, Binutils, Coreutils, GCC, Glibc, and Make
+
+
+
+
+ &runtime;
+
+ Glibc
+
+
+
+
+ &testsuites;
+
+ Python
+
+
+
+
+ &before;
+
+ Zstd and Systemd
+
+
+
+
+ &external;
+
+ None
+
+
+
M4
@@ -2111,7 +2149,7 @@
&dependencies;
- Bash, Coreutils, and Make
+ Bash, Coreutils, Make, and Sed
@@ -2876,7 +2914,7 @@
&dependencies;
Acl, Bash, Binutils, Coreutils, Diffutils, Gawk,
- GCC, Glibc, Gperf, Grep, Jinja2, Libcap, Libxcrypt, Meson,
+ GCC, Glibc, Gperf, Grep, Jinja2, Libcap, Libxcrypt, Lz4, Meson,
OpenSSL, Pkgconf, Sed, Util-linux, and Zstd
@@ -2942,7 +2980,6 @@
Linux-PAM,
lxml,
- LZ4,
make-ca,
p11-kit,
PCRE2,
@@ -3426,7 +3463,7 @@
&dependencies;
- Binutils, Coreutils, GCC, Glibc, Gzip, Make, Xz, and Zlib
+ Binutils, Coreutils, GCC, Glibc, Gzip, Lz4, Make, Xz, and Zlib
@@ -3455,7 +3492,7 @@
&external;
- LZ4
+ None
diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml
index 5a29d104f..58c013bdf 100644
--- a/chapter01/changelog.xml
+++ b/chapter01/changelog.xml
@@ -40,6 +40,178 @@
appropriate for the entry or if needed the entire day's listitem.
-->
+
+ 2024-03-31
+
+
+ [bdubbs] - Update to iana-etc-20240318. Addresses
+ #5006.
+
+
+ [bdubbs] - Update to zstd-1.5.6. Fixes
+ #5468.
+
+
+ [bdubbs] - Update to util-linux-2.40. Fixes
+ #5430.
+
+
+ [bdubbs] - Update to shadow-4.15.1. Fixes
+ #5465.
+
+
+ [bdubbs] - Update to pkgconf-2.2.0. Fixes
+ #5469.
+
+
+ [bdubbs] - Update to linux-6.8.2. Fixes
+ #5467.
+
+
+ [bdubbs] - Update to coreutils-9.5. Fixes
+ #5470.
+
+
+
+
+
+ 2024-03-29
+
+
+ [bdubbs] - Revert to xz-5.4.6 due to upstream
+ compromise.
+
+
+
+
+
+ 2024-03-25
+
+
+ [timtas] - Update to sysvinit-3.09. Fixes
+ #5466.
+
+
+
+
+
+ 2024-03-19
+
+
+ [renodr] - Update to iproute2-6.8.0. Fixes
+ #5458.
+
+
+ [renodr] - Update to man-pages-6.7. Fixes
+ #5464.
+
+
+ [renodr] - Update to Linux-6.8.1. Fixes
+ #5453.
+
+
+ [renodr] - Added LZ4 to the book. Fixes
+ #5463.
+
+
+
+
+
+ 2024-03-15
+
+
+ [bdubbs] - Update to wheel-0.43.0. Fixes
+ #5459.
+
+
+ [bdubbs] - Update to setuptools-69.2.0 (Python module). Fixes
+ #5462.
+
+
+ [bdubbs] - Update to meson-1.4.0. Fixes
+ #5460.
+
+
+ [bdubbs] - Update to expat-2.6.2 (Security fix). Fixes
+ #5461.
+
+
+ [bdubbs] - Update to iana-etc-20240305. Addresses
+ #5006.
+
+
+ [bdubbs] - Update to vim-9.1.0161. Addresses
+ #4500.
+
+
+ [bdubbs] - Update to xz-5.6.1. Fixes
+ #5457.
+
+
+ [bdubbs] - Update to shadow-4.15.0. Fixes
+ #5456.
+
+
+ [bdubbs] - Update to psmisc-23.7. Fixes
+ #5454.
+
+
+ [bdubbs] - Update to kmod-32. Fixes
+ #5455.
+
+
+ [bdubbs] - Update to elfutils-0.191. Fixes
+ #5451.
+
+
+
+
+
+ 2024-03-02
+
+
+ [bdubbs] - Update to iana-etc-20240222. Addresses
+ #5006.
+
+
+ [bdubbs] - Update to vim-9.1.0145. Addresses
+ #4500.
+
+
+ [bdubbs] - Update to xz-5.6.0. Fixes
+ #5447.
+
+
+ [bdubbs] - Update to tcl-8.6.14. Fixes
+ #5448.
+
+
+ [bdubbs] - Update to shadow-4.14.6. Fixes
+ #5450.
+
+
+ [bdubbs] - Update to setuptools-69.1.1. Fixes
+ #5446.
+
+
+ [bdubbs] - Update to linux-6.7.7. Fixes
+ #5444.
+
+
+ [bdubbs] - Update to libffi-3.4.6. Fixes
+ #5443.
+
+
+ [bdubbs] - Update to gettext-0.22.5. Fixes
+ #5445.
+
+
+ [bdubbs] - Update to expat-2.6.1. Fixes
+ #5449.
+
+
+
+
2024-03-01
diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml
index b98cd66a3..f856866bd 100644
--- a/chapter01/whatsnew.xml
+++ b/chapter01/whatsnew.xml
@@ -26,27 +26,27 @@
-
+
+
+
-
+
+
+
@@ -62,9 +62,9 @@
-
+
@@ -89,9 +89,9 @@
-
+
@@ -101,9 +101,9 @@
Gettext-&gettext-version;
-
+
@@ -116,33 +116,33 @@
-
+
+
Iana-Etc-&iana-etc-version;
-
+
IPRoute2-&iproute2-version;
-
+
+
Kmod-&kmod-version;
-
+
@@ -155,9 +155,9 @@
Libelf from Elfutils-&elfutils-version;
-
+
@@ -167,64 +167,67 @@
Linux-&linux-version;
+
-
+
Man-pages-&man-pages-version;
-
+
Meson-&meson-version;
-
+
+
-
+
-
+
Pkgconf-&pkgconf-version;
-
- Procps-ng-&procps-ng-version;
-
- Python-&python-version;
+ Psmisc-&psmisc-version;
+
-
+
Setuptools-&setuptools-version;
@@ -236,21 +239,21 @@
-
+
-
-
+
+
+
@@ -263,18 +266,18 @@
Wheel-&wheel-version;
-
+
Xz-&xz-version;
-
- Zlib-&zlib-version;
-
+
+ Zstd-&zstd-version;
+
-
+
+ Lz4-&lz4-version;
+
diff --git a/chapter03/packages.xml b/chapter03/packages.xml
index 1f5b55427..dbbb43eae 100644
--- a/chapter03/packages.xml
+++ b/chapter03/packages.xml
@@ -489,6 +489,15 @@
+
+ Lz4 (&lz4-version;) - &lz4-size;:
+
+ Home page:
+ Download:
+ MD5 sum: &lz4-md5;
+
+
+
M4 (&m4-version;) - &m4-size;:
@@ -813,8 +822,7 @@
The version of vim changes daily. To get the latest version, go to
-
- https://github.com/vim/vim/tags.
+ .
diff --git a/chapter07/util-linux.xml b/chapter07/util-linux.xml
index 488635b7a..1ac069b8c 100644
--- a/chapter07/util-linux.xml
+++ b/chapter07/util-linux.xml
@@ -51,17 +51,18 @@
Prepare Util-linux for compilation:
-./configure --libdir=/usr/lib \
- --runstatedir=/run \
- --disable-chfn-chsh \
- --disable-login \
- --disable-nologin \
- --disable-su \
- --disable-setpriv \
- --disable-runuser \
- --disable-pylibmount \
- --disable-static \
- --without-python \
+ ./configure --libdir=/usr/lib \
+ --runstatedir=/run \
+ --disable-chfn-chsh \
+ --disable-login \
+ --disable-nologin \
+ --disable-su \
+ --disable-setpriv \
+ --disable-runuser \
+ --disable-pylibmount \
+ --disable-static \
+ --disable-liblastlog2 \
+ --without-python \
ADJTIME_PATH=/var/lib/hwclock/adjtime \
--docdir=/usr/share/doc/util-linux-&util-linux-version;
diff --git a/chapter08/chapter08.xml b/chapter08/chapter08.xml
index c3ded2719..43bb6404a 100644
--- a/chapter08/chapter08.xml
+++ b/chapter08/chapter08.xml
@@ -19,6 +19,7 @@
+
diff --git a/chapter08/coreutils.xml b/chapter08/coreutils.xml
index 68ff3b356..1f935809b 100644
--- a/chapter08/coreutils.xml
+++ b/chapter08/coreutils.xml
@@ -53,13 +53,6 @@
those bugs are reproducible without this patch.
-
- Fix a security vulnerability in the split
- utility:
-
-sed -e '/n_out += n_hold/,+4 s|.*bufsize.*|//&|' \
- -i src/split.c
-
Now prepare Coreutils for compilation:
autoreconf -fiv
@@ -140,6 +133,12 @@ FORCE_UNSAFE_CONFIGURE=1 ./configure \
groupdel dummy
+
+ Two tests, tests/cp/preserve-mode.sh and
+ tests/mv/acl.sh, are known to
+ fail in the chroot environment, but pass in a complete system.
+
+
Install the package:
make install
diff --git a/chapter08/kmod.xml b/chapter08/kmod.xml
index 9a16da3f0..6c875caed 100644
--- a/chapter08/kmod.xml
+++ b/chapter08/kmod.xml
@@ -84,17 +84,19 @@
(not the sanitized
kernel headers installed earlier),
which are beyond the scope of LFS.
- Install the package and create symlinks for
+ Install the package and recreate some symlinks for
compatibility with Module-Init-Tools (the package that previously handled
- Linux kernel modules):
+ Linux kernel modules). The building system will create all these
+ symlinks in /usr/bin, but we
+ only want lsmod there and all other symlinks in
+ /usr/sbin instead:
make install
for target in depmod insmod modinfo modprobe rmmod; do
ln -sfv ../bin/kmod /usr/sbin/$target
-done
-
-ln -sfv kmod /usr/bin/lsmod
+ rm -fv /usr/bin/$target
+done
diff --git a/chapter08/lz4.xml b/chapter08/lz4.xml
new file mode 100644
index 000000000..993d213e2
--- /dev/null
+++ b/chapter08/lz4.xml
@@ -0,0 +1,141 @@
+
+
+ %general-entities;
+]>
+
+
+
+
+
+ Lz4
+ &lz4-version;
+ &lz4-url;
+
+
+ Lz4-&lz4-version;
+
+
+ Lz4
+
+
+
+
+
+ Lz4 is a lossless compression algorithm, providing compression speed
+ greater than 500 MB/s per core. It features an extremely fast decoder, with
+ speed in multiple GB/s per core. Lz4 can work with Zstandard to allow both
+ algorithms to compress data faster.
+
+
+ &buildtime;
+ &diskspace;
+
+
+ &lz4-fin-sbu;
+ &lz4-fin-du;
+
+
+
+
+
+
+ Installation of Lz4
+
+ Compile the package:
+
+make BUILD_STATIC=no
+
+ To test the results, issue:
+
+
+
+make -j1 check
+
+ Install the package:
+
+make BUILD_STATIC=no PREFIX=/usr install
+
+
+
+
+ Contents of Lz4
+
+
+ Installed programs
+ Installed library
+
+
+ lz4,
+ lz4c (link to lz4),
+ lz4cat (link to lz4), and
+ unlz4 (link to lz4)
+
+
+ liblz4.so
+
+
+
+
+ Short Descriptions
+
+
+
+
+ lz4
+
+ Compresses or decompresses files using the LZ4 format
+
+ lz4
+
+
+
+
+
+ lz4c
+
+ Compresses files using the LZ4 format
+
+ lz4c
+
+
+
+
+
+ lz4cat
+
+ Lists the contents of a file compressed using the LZ4 format
+
+ lz4cat
+
+
+
+
+
+ unlz4
+
+ Decompresses files using the LZ4 format
+
+ unlz4
+
+
+
+
+
+ liblz4
+
+ The library implementing lossless data
+ compression, using the LZ4 algorithm
+
+ liblz4
+
+
+
+
+
+
+
+
+
diff --git a/chapter08/python.xml b/chapter08/python.xml
index 7ac618c09..0f22ab2a9 100644
--- a/chapter08/python.xml
+++ b/chapter08/python.xml
@@ -78,11 +78,17 @@
make
- Running the tests at this point is not recommended. The
- tests are known to hang indefinitely in the partial LFS environment.
- If desired, the tests can be rerun at the end of this chapter, or
- when Python 3 is reinstalled in BLFS. To run the tests anyway,
- issue make test.
+ Some tests are known to occasionally hang indefinitely. So to test the
+ results, run the test suite but set a 2-minute time limit for each
+ test case:
+
+make test TESTOPTS="--timeout 120"
+
+ For a relatively slow system you may need to increase the time
+ limit and 1 SBU (measured when building Binutils pass 1 with one CPU
+ core) should be enough. Some tests are flaky, so the test suite will
+ automatically re-run failed tests. If a test failed but then passed
+ when re-run, it should be considered as passed.
Install the package:
diff --git a/chapter08/shadow.xml b/chapter08/shadow.xml
index 89678b3f4..315e3cc5e 100644
--- a/chapter08/shadow.xml
+++ b/chapter08/shadow.xml
@@ -41,6 +41,15 @@
Installation of Shadow
+
+
+ If you've installed Linux-PAM, you should follow
+ the BLFS shadow
+ page instead of this page to build (or, rebuild or upgrade)
+ shadow.
+
+
+
If you would like to enforce the use of strong passwords, refer to
for installing
diff --git a/chapter08/tcl.xml b/chapter08/tcl.xml
index 8a7884804..fd920e2c9 100644
--- a/chapter08/tcl.xml
+++ b/chapter08/tcl.xml
@@ -3,8 +3,8 @@
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
%general-entities;
-
-
+
+
]>
diff --git a/chapter08/util-linux.xml b/chapter08/util-linux.xml
index ff24c6b85..763840a98 100644
--- a/chapter08/util-linux.xml
+++ b/chapter08/util-linux.xml
@@ -42,43 +42,46 @@
Installation of Util-linux
+
Prepare Util-linux for compilation:
-./configure --bindir=/usr/bin \
- --libdir=/usr/lib \
- --runstatedir=/run \
- --sbindir=/usr/sbin \
- --disable-chfn-chsh \
- --disable-login \
- --disable-nologin \
- --disable-su \
- --disable-setpriv \
- --disable-runuser \
- --disable-pylibmount \
- --disable-static \
- --without-python \
- --without-systemd \
+ ./configure --bindir=/usr/bin \
+ --libdir=/usr/lib \
+ --runstatedir=/run \
+ --sbindir=/usr/sbin \
+ --disable-chfn-chsh \
+ --disable-login \
+ --disable-nologin \
+ --disable-su \
+ --disable-setpriv \
+ --disable-runuser \
+ --disable-pylibmount \
+ --disable-liblastlog2 \
+ --disable-static \
+ --without-python \
+ --without-systemd \
--without-systemdsystemunitdir \
ADJTIME_PATH=/var/lib/hwclock/adjtime \
--docdir=/usr/share/doc/util-linux-&util-linux-version;
-./configure --bindir=/usr/bin \
- --libdir=/usr/lib \
- --runstatedir=/run \
- --sbindir=/usr/sbin \
- --disable-chfn-chsh \
- --disable-login \
- --disable-nologin \
- --disable-su \
- --disable-setpriv \
- --disable-runuser \
- --disable-pylibmount \
- --disable-static \
- --without-python \
+ ./configure --bindir=/usr/bin \
+ --libdir=/usr/lib \
+ --runstatedir=/run \
+ --sbindir=/usr/sbin \
+ --disable-chfn-chsh \
+ --disable-login \
+ --disable-nologin \
+ --disable-su \
+ --disable-setpriv \
+ --disable-runuser \
+ --disable-pylibmount \
+ --disable-liblastlog2 \
+ --disable-static \
+ --without-python \
ADJTIME_PATH=/var/lib/hwclock/adjtime \
--docdir=/usr/share/doc/util-linux-&util-linux-version;
@@ -106,14 +109,16 @@
chown -R tester .
su tester -c "make -k check"
- The hardlink tests will fail if the host's kernel
- does not have the option
- enabled or does not have any options providing a SHA256 implementation
- (for example, , or
- if the CPU supports
- Supplemental SSE3) enabled. In addition,
- two sub-tests from misc: mbsencode and one sub-test from script: replay are
- known to fail.
+
+ The hardlink tests will fail if the host's kernel
+ does not have the option
+ enabled or does not have any options providing a SHA256 implementation
+ (for example, , or
+ if the CPU supports
+ Supplemental SSE3) enabled. In addition, the lsfd: inotify test will
+ fail if the kernel option is not
+ enabled.
+
Two tests named fadvise/drop and
diff --git a/chapter08/vim.xml b/chapter08/vim.xml
index 88322132e..2ed5cf238 100644
--- a/chapter08/vim.xml
+++ b/chapter08/vim.xml
@@ -76,7 +76,7 @@
The test suite outputs a lot of binary data to the screen. This can
cause issues with the settings of the current terminal (especially while
- we are overriding the TERM variable to satisify some
+ we are overriding the TERM variable to satisfy some
assumptions of the test suite). The problem can be
avoided by redirecting the output to a log file as shown above. A
successful test will result in the words ALL
diff --git a/chapter10/kernel/kernel.version b/chapter10/kernel/kernel.version
index 06a765991..166d79d6d 100644
--- a/chapter10/kernel/kernel.version
+++ b/chapter10/kernel/kernel.version
@@ -1 +1 @@
-6.7.1
+6.8.2
diff --git a/chapter10/kernel/systemd.toml b/chapter10/kernel/systemd.toml
index dae4a4049..b930e01a6 100644
--- a/chapter10/kernel/systemd.toml
+++ b/chapter10/kernel/systemd.toml
@@ -14,7 +14,6 @@ UEVENT_HELPER=' '
DEVTMPFS='*'
DEVTMPFS_MOUNT='*'
DRM=' *M'
-AUDIT=' '
NET='*'
INET='*'
IPV6='*'
diff --git a/chapter10/kernel/systemd.xml b/chapter10/kernel/systemd.xml
index 72298e56b..4b85742a8 100644
--- a/chapter10/kernel/systemd.xml
+++ b/chapter10/kernel/systemd.xml
@@ -5,7 +5,6 @@
DO NOT EDIT! -->
General setup --->
[ ] Compile the kernel with warnings as errors [WERROR]
- [ ] Auditing support [AUDIT]
CPU/Task time and stats accounting --->
[*] Pressure stall information tracking [PSI]
[ ] Require boot parameter to enable pressure stall information tracking
diff --git a/lfs-latest-git.php b/lfs-latest-git.php
index c2414789a..95abb7c28 100644
--- a/lfs-latest-git.php
+++ b/lfs-latest-git.php
@@ -15,7 +15,7 @@ $regex = array();
$regex[ 'intltool' ] = "/^.*Latest version is (\d[\d\.]+\d).*$/";
$regex[ 'less' ] = "/^.*current released version is less-(\d+).*$/";
$regex[ 'mpfr' ] = "/^mpfr-([\d\.]+)\.tar.*$/";
-$regex[ 'Python' ] = "/^.*Latest Python 3.*Python (3[\d\.]+\d).*$/";
+//$regex[ 'Python' ] = "/^.*Latest Python 3.*Python (3[\d\.]+\d).*$/";
//$regex[ 'sysvinit' ] = "/^.*sysvinit-([\d\.]+)dsf\.tar.*$/";
$regex[ 'tzdata' ] = "/^.*tzdata([\d]+[a-z]).*$/";
$regex[ 'xz' ] = "/^.*xz-([\d\.]*\d).*$/";
@@ -77,6 +77,7 @@ function http_get_file( $url )
}
if ( preg_match( "/sourceforge/", $url ) ||
+ preg_match( "/python/", $url ) ||
preg_match( "/psmisc/", $url ) )
{
exec( "lynx -dump $url 2>/dev/null", $lines );
@@ -134,6 +135,7 @@ if ( $package == "iana-etc" ) $dirpath = github("Mic92/iana-etc");
if ( $package == "intltool" ) $dirpath = "https://launchpad.net/intltool/trunk";
if ( $package == "libffi" ) $dirpath = github("libffi/libffi");
if ( $package == "libxcrypt" ) $dirpath = github("besser82/libxcrypt");
+if ( $package == "lz" ) $dirpath = github("lz4/lz4");
if ( $package == "meson" ) $dirpath = github("mesonbuild/meson");
if ( $package == "mpc" ) $dirpath = "https://ftp.gnu.org/gnu/mpc";
if ( $package == "mpfr" ) $dirpath = "https://mpfr.loria.fr/mpfr-current";
@@ -160,53 +162,6 @@ if ( $package == "zstd" ) $dirpath = github("facebook/zstd");
if ( preg_match( "/^ftp/", $dirpath ) )
{
echo "ftp should not occur\n";
- /*
- $dirpath = substr( $dirpath, 6 ); // Remove ftp://
- $dirpath = rtrim ( $dirpath, "/" ); // Trim any trailing slash
- $position = strpos( $dirpath, "/" ); // Divide at first slash
- $server = substr( $dirpath, 0, $position );
- $path = substr( $dirpath, $position );
-
- $conn = ftp_connect( $server );
- ftp_login( $conn, "anonymous", "" );
-
- // See if we need special handling
- if ( isset( $exceptions[ $package ] ) )
- {
- $specials = explode( ":", $exceptions[ $package ] );
-
- foreach ( $specials as $i )
- {
- list( $op, $regexp ) = explode( "=", $i );
-
- switch ($op)
- {
- case "UPDIR":
- // Remove last dir from $path
- $position = strrpos( $path, "/" );
- $path = substr( $path, 0, $position );
-
- // Get dir listing
- $lines = ftp_rawlist ($conn, $path);
- $max = find_max( $lines, $regexp, $regexp );
- break;
-
- case "DOWNDIR":
- // Append found directory
- $path .= "/$max";
- break;
-
- default:
- echo "Error in specials array for $package\n";
- return -5;
- break;
- }
- }
- }
-
- $lines = ftp_rawlist ($conn, $path);
- ftp_close( $conn );
-*/
}
else // http(s)
{
@@ -303,7 +258,7 @@ if ( $package == "zstd" ) $dirpath = github("facebook/zstd");
return find_max( $lines, "/v\d/", "/^.*v([\d\.]+)$/" );
if ( $package == "psmisc" )
- return find_max( $lines, "/v\d/", "/^.*v([\d\.]+).tar.*$/" );
+ return find_max( $lines, "/v\d/", "/^.*v([\d\.]+)$/" );
if ( $package == "grub" )
return find_max( $lines, "/grub/", "/^.*grub-([\d\.]+).tar.xz.*$/" );
@@ -311,9 +266,15 @@ if ( $package == "zstd" ) $dirpath = github("facebook/zstd");
if ( $package == "Jinja" )
return find_max( $lines, "/Jinja/", "/^.*Jinja2 ([\d\.]+).*$/" );
+ if ( $package == "lz" )
+ return find_max( $lines, "/name.:/", '/^.*LZ4 v([\d\.]+)".*$/' );
+
if ( $package == "openssl" )
return find_max( $lines, "/openssl/", "/^.*openssl-([\d\.p]*\d.?).tar.*$/" );
+ if ( $package == "Python" )
+ return find_max( $lines, "/Python 3/", "/^.*Python (3[\d\.]*\d) .*$/" );
+
if ( $package == "vim" )
return find_max( $lines, "/v\d\./", "/^.*v([\d\.]+).*$/" );
@@ -332,7 +293,6 @@ function get_current()
// Fetech from git and get wget-list
$current = array();
- #$lfssvn = "svn://svn.linuxfromscratch.org/LFS/trunk";
$lfsgit = "https://git.linuxfromscratch.org/lfs.git";
$tmpdir = exec( "mktemp -d /tmp/lfscheck.XXXXXX" );
@@ -364,7 +324,6 @@ function get_current()
$file = rtrim( $file );
$pkg_pattern = "/(\D*).*/";
- //$pattern = "/\D*(\d.*\d)\D*/";
$pattern = "/\D*(\d.*\d)\D*/";
if ( preg_match( "/e2fsprogs/", $file ) )
diff --git a/packages.ent b/packages.ent
index 28a3140ce..69ff0b3e5 100644
--- a/packages.ent
+++ b/packages.ent
@@ -104,10 +104,10 @@
-
-
+
+
-
+
@@ -148,18 +148,18 @@
-
-
+
+
-
+
-
-
+
+
-
+
@@ -245,10 +245,10 @@
-
-
+
+
-
+
@@ -317,10 +317,10 @@
-
+
-
+
@@ -341,10 +341,10 @@
-
-
+
+
-
+
@@ -365,10 +365,10 @@
-
-
+
+
-
+
@@ -397,10 +397,10 @@
-
-
+
+
-
+
@@ -430,13 +430,13 @@
-
-
+
+
-
+
-
+
-
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -766,8 +774,8 @@
-
-
+
+
@@ -787,10 +795,10 @@
-
-
+
+
-
+
diff --git a/part3intro/generalinstructions.xml b/part3intro/generalinstructions.xml
index 624771c2d..37e07f862 100644
--- a/part3intro/generalinstructions.xml
+++ b/part3intro/generalinstructions.xml
@@ -114,7 +114,7 @@
Do not use any method except the tar command
to extract the source code. Notably, using the cp -R
command to copy the
- source code tree somewhere else can destroy links and
+ source code tree somewhere else can destroy
timestamps in the source tree, and cause the build to fail.
diff --git a/patches.ent b/patches.ent
index 17966e30c..fabb2f7ad 100644
--- a/patches.ent
+++ b/patches.ent
@@ -11,8 +11,8 @@
-
-
+
+
diff --git a/stylesheets/lfs-xsl/nochunks.xsl b/stylesheets/lfs-xsl/nochunks.xsl
index 896449d7c..d5afb4473 100644
--- a/stylesheets/lfs-xsl/nochunks.xsl
+++ b/stylesheets/lfs-xsl/nochunks.xsl
@@ -123,7 +123,7 @@ a:active { color: #6b77b1 ! important;}
padding: 0 1em;
}
-.book h1, .book .authorgroup, .book .copyright, .book .legalnotice .revhistory {
+/*.book h1,*/ .book .authorgroup, .book .copyright, .book .legalnotice .revhistory {
background: #f5f6f7;
margin: 0px auto;
padding: .1em 1em;
@@ -188,6 +188,10 @@ h1 {
.book h1 {
margin: 0;
padding: 0.4em;
+ background: #f5f6f7;
+ border-top: .2em solid #dbddec;
+ border-bottom: .2em solid #dbddec;
+ text-align: center;
}
h1.title sup {
@@ -198,7 +202,7 @@ h2 {
font-size: 144%;
}
-.preface h2, .part h1, .chapter h2, .appendix h2, .index h1, .sect1 h2 {
+.preface h2, .part h1, .chapter h2, .appendix h2, .index h1, .sect1 h2, .part h2 {
background: #f5f6f7;
border-top: .2em solid #dbddec;
border-bottom: .2em solid #dbddec;