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 + + + + + + <para>The pcre2 package contains a new generation of the Perl Compatible + Regular Expression libraries.</para> + + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> + + <seglistitem> + <seg>&pcre2-fin-sbu;</seg> + <seg>&pcre2-fin-du;</seg> + </seglistitem> + </segmentedlist> + + </sect2> + + <sect2 role="installation"> + <title>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 @@ - +