diff --git a/appendices/dependencies.xml b/appendices/dependencies.xml
index 038994878..0d69afa46 100644
--- a/appendices/dependencies.xml
+++ b/appendices/dependencies.xml
@@ -1139,7 +1139,7 @@
&dependencies;
Bash, Binutils, Coreutils, Diffutils, GCC, Gettext, Glibc, Grep,
- Make, Patch, Sed, and Texinfo
+ Make, Patch, Pcre2, Sed, and Texinfo
@@ -1168,9 +1168,7 @@
&external;
- PCRE2
- and
- libsigsegv
+ None
@@ -1584,7 +1582,7 @@
&dependencies;
Bash, Binutils, Coreutils, Diffutils, GCC, Glibc, Grep, Make,
- Ncurses, and Sed
+ Ncurses, Pcre2, and Sed
@@ -1613,8 +1611,7 @@
&external;
- PCRE2 or
- PCRE
+ None
@@ -1759,7 +1756,7 @@
&testsuites;
- Check and Pkgconf
+ Pkgconf
@@ -2497,6 +2494,48 @@
+
+ Pcre2
+
+
+ &dependencies;
+
+ Bash, Binutils, Bzip2, Coreutils, GCC, Glibc, GZip, Make, and
+ Readline
+
+
+
+
+ &runtime;
+
+ Glibc
+
+
+
+
+ &testsuites;
+
+ Grep
+
+
+
+
+ &before;
+
+ Grep and Less
+
+
+
+
+ &external;
+
+
+ Valgrind and
+ libedit
+
+
+
+
Perl
@@ -2916,7 +2955,7 @@
Acl, Bash, Binutils, Coreutils, Diffutils, Gawk,
GCC, Glibc, Gperf, Grep, Jinja2, Libcap, Libxcrypt, Lz4, Meson,
- OpenSSL, Pkgconf, Sed, Util-linux, and Zstd
+ OpenSSL, Pcre2, Pkgconf, Sed, Util-linux, and Zstd
@@ -2983,7 +3022,6 @@
url="&blfs-book;general/python-modules.html#lxml">lxml,
make-ca,
p11-kit,
- PCRE2,
pefile,
Polkit,
pyelftools,
diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml
index f3a9cdfd2..5cd66724b 100644
--- a/chapter01/changelog.xml
+++ b/chapter01/changelog.xml
@@ -40,6 +40,21 @@
appropriate for the entry or if needed the entire day's listitem.
-->
+
+ 2025-09-03
+
+
+ [bdubbs] - Add the pcre2 package. Fixes
+ #5782.
+
+
+ [bdubbs] - Add a description on how to use a kernel base+patch
+ in Chapter 3. Fixes
+ #5785.
+
+
+
+
2025-09-01
diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml
index a91e9cc92..17fb72490 100644
--- a/chapter01/whatsnew.xml
+++ b/chapter01/whatsnew.xml
@@ -292,6 +292,7 @@
Added:
+ pcre2
diff --git a/chapter03/packages.xml b/chapter03/packages.xml
index 6cdb5e224..68a1a6f05 100644
--- a/chapter03/packages.xml
+++ b/chapter03/packages.xml
@@ -3,6 +3,7 @@
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
%general-entities;
+
]>
@@ -466,15 +467,43 @@
The Linux kernel is updated quite frequently, many times due to
- discoveries of security vulnerabilities. The latest available
- stable kernel
- version may be
- used, unless the errata page says otherwise.
+ discoveries of security vulnerabilities. The latest available stable
+ kernel version may be used, unless the errata page says
+ otherwise.
For users with limited speed or expensive bandwidth who wish to
update the Linux kernel, a baseline version of the package and
patches can be downloaded separately. This may save some time or
- cost for a subsequent patch level upgrade within a minor release.
+ cost for a subsequent patch level upgrade within a minor
+ release.
+
+
+ As an example, for linux-&linux-version;, the following could be downloaded:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Then in and
+ unpack the kernel, change
+ to the package directory and then apply the patch with
+ xzcat ../patch-&linux-version;.xz | patch -Np1.
+
+
+
+ At this point, if a newer point version of the kernel is needed, then
+ only the newer patch is needed. However, if a new minor version is
+ desired, then both full minor version and any desired patch will both
+ need to be downloaded.
@@ -606,6 +635,15 @@
+
+ Pcre2 (&pcre2-version;) - &pcre2-size;:
+
+ Home page:
+ Download:
+ MD5 sum: &pcre2-md5;
+
+
+
Perl (&perl-version;) - &perl-size;:
diff --git a/chapter06/bash.xml b/chapter06/bash.xml
index 8e6a2396e..cd29529fd 100644
--- a/chapter06/bash.xml
+++ b/chapter06/bash.xml
@@ -42,11 +42,7 @@
Installation of Bash
-
+
Prepare Bash for compilation:
./configure --prefix=/usr \
diff --git a/chapter08/chapter08.xml b/chapter08/chapter08.xml
index bd8571903..4e2d94a98 100644
--- a/chapter08/chapter08.xml
+++ b/chapter08/chapter08.xml
@@ -23,6 +23,7 @@
+
diff --git a/chapter08/meson.xml b/chapter08/meson.xml
index 89e3a5bdc..bc5ec2555 100644
--- a/chapter08/meson.xml
+++ b/chapter08/meson.xml
@@ -39,11 +39,7 @@
Installation of Meson
-
Compile Meson with the following command:
pip3 wheel -w dist --no-cache-dir --no-build-isolation --no-deps $PWD
diff --git a/chapter08/pcre.xml b/chapter08/pcre.xml
new file mode 100644
index 000000000..d937d8f6c
--- /dev/null
+++ b/chapter08/pcre.xml
@@ -0,0 +1,185 @@
+
+
+ %general-entities;
+]>
+
+
+
+
+
+ pcre2
+ &pcre2-version;
+ &pcre2-url;
+
+
+ Pcre2-&pcre2-version;
+
+
+ Pcre2
+
+
+
+
+
+ The pcre2 package contains a new generation of the Perl Compatible
+ Regular Expression libraries.
+
+
+ &buildtime;
+ &diskspace;
+
+
+ &pcre2-fin-sbu;
+ &pcre2-fin-du;
+
+
+
+
+
+
+ Installation of Pcre2
+
+ Prepare pcre2 for compilation:
+
+./configure --prefix=/usr \
+ --docdir=/usr/share/doc/pcre2-10.45 \
+ --enable-unicode \
+ --enable-jit \
+ --enable-pcre2-16 \
+ --enable-pcre2-32 \
+ --enable-pcre2grep-libz \
+ --enable-pcre2grep-libbz2 \
+ --enable-pcre2test-libreadline \
+ --disable-static
+
+
+ The meaning of the new configure options:
+
+
+ --enable-unicode
+
+
+ This option enables Unicode support and includes the functions for
+ handling UTF-8/16/32 character strings in the library.
+
+
+
+
+
+ --enable-jit
+
+
+ This option enables Just-in-time compiling, which can greatly
+ speed up pattern matching.
+
+
+
+
+
+ --enable-pcre2-16
+
+
+ This option enables 16 bit character support.
+
+
+
+
+
+ --enable-pcre2-32
+
+
+ This option enables 32 bit character support.
+
+
+
+
+
+ --enable-pcre2grep-libz
+
+
+ This option adds support for reading .gz compressed files to pcre2grep.
+
+
+
+
+
+ --enable-pcre2grep-libbz2
+
+
+ This option adds support for reading .bz2 compressed files to pcre2grep.
+
+
+
+
+
+ --enable-pcre2test-libreadline
+
+
+ This option adds line editing and history features to the pcre2test program.
+
+
+
+
+
+
+ Compile the package:
+
+make
+
+ To test the results, issue:
+
+make check
+
+ Install the package:
+
+make install
+
+
+
+
+
+ Contents of Pcre2
+
+
+ Installed programs
+ Installed library
+
+
+ pcre2grep and pcre2test
+ libpcre2-8.so, libpcre2-16.so, libpcre2-32.so, and libpcre2-posix.so
+
+
+
+
+ Short Descriptions
+
+
+
+
+ pcre2grep
+
+ is a version of grep that understands Perl compatible regular
+ expressions
+
+ pcre2grep
+
+
+
+
+
+ pcre2test
+
+ can test a Perl compatible regular expression
+
+ pcre2test
+
+
+
+
+
+
+
+
+
diff --git a/chapter08/perl.xml b/chapter08/perl.xml
index fb07aea21..b678f7f9d 100644
--- a/chapter08/perl.xml
+++ b/chapter08/perl.xml
@@ -40,11 +40,7 @@
Installation of Perl
-
This version of Perl builds the Compress::Raw::Zlib and
Compress::Raw::BZip2 modules. By
default Perl will use an internal copy of the sources for the build.
diff --git a/chapter08/xz.xml b/chapter08/xz.xml
index 316b8558e..f4c0ec342 100644
--- a/chapter08/xz.xml
+++ b/chapter08/xz.xml
@@ -43,11 +43,7 @@
Installation of Xz
-
Prepare Xz for compilation with:
./configure --prefix=/usr \
diff --git a/packages.ent b/packages.ent
index 9c158c48c..7432738ba 100644
--- a/packages.ent
+++ b/packages.ent
@@ -398,7 +398,7 @@
-
+
@@ -423,6 +423,7 @@
+
@@ -496,7 +497,7 @@
-
+
@@ -564,6 +565,14 @@
+
+
+
+
+
+
+
+
diff --git a/prologue/why.xml b/prologue/why.xml
index 287a61635..45874dc51 100644
--- a/prologue/why.xml
+++ b/prologue/why.xml
@@ -91,13 +91,13 @@
This package contains programs for compressing and decompressing
files. It is required to decompress many LFS packages.
-
+
Coreutils
@@ -480,6 +480,14 @@
the build procedure for several LFS packages.
+
+ Pcre2
+
+ This package provides a set of functions that implement regular
+ expression pattern matching using the same syntax and semantics as
+ Perl 5.
+
+
Perl
diff --git a/stylesheets/md5sum.xsl b/stylesheets/md5sum.xsl
index 57723df97..4ea19741b 100644
--- a/stylesheets/md5sum.xsl
+++ b/stylesheets/md5sum.xsl
@@ -15,10 +15,11 @@
-
+
diff --git a/stylesheets/wget-list.xsl b/stylesheets/wget-list.xsl
index 09f99cd22..0b07db373 100644
--- a/stylesheets/wget-list.xsl
+++ b/stylesheets/wget-list.xsl
@@ -16,10 +16,11 @@
-
+