pcre2: Update to version 10.40

Message ID 20220423212613.2315974-1-adolf.belka@ipfire.org
State Accepted
Commit f86e23906ee01f5b9c9b4eea84957b78481e0048
Headers
Series pcre2: Update to version 10.40 |

Commit Message

Adolf Belka April 23, 2022, 9:26 p.m. UTC
  - Update from 10.39 to 10.40
- Update of rootfile
- Changelog
   Version 10.40 15-April-2022
	1. Merged patch from @carenas (GitHub #35, 7db87842) to fix pcre2grep incorrect
	   handling of multiple passes.
	2. Merged patch from @carenas (GitHub #36, dae47509) to fix portability issue
	   in pcre2grep with buffered fseek(stdin).
	3. Merged patch from @carenas (GitHub #37, acc520924) to fix tests when -S is
	   not supported.
	4. Revert an unintended change in JIT repeat detection.
	5. Merged patch from @carenas (GitHub #52, b037bfa1) to fix build on GNU Hurd.
	6. Merged documentation and comments patches from @carenas (GitHub #47).
	7. Merged patch from @carenas (GitHub #49) to remove obsolete JFriedl test code
	   from pcre2grep.
	8. Merged patch from @carenas (GitHub #48) to fix CMake install issue #46.
	9. Merged patch from @carenas (GitHub #53) fixing NULL checks in matching and
	   substituting.
	10. Add null_subject and null_replacement modifiers to pcre2test.
	11. Add check for NULL subject to POSIX regexec() function.
	12. Add check for NULL replacement to pcre2_substitute().
	13. For the subject arguments of pcre2_match(), pcre2_dfa_match(), and
	    pcre2_substitute(), and the replacement argument of the latter, if the pointer
	    is NULL and the length is zero, treat as an empty string. Apparently a number
	    of applications treat NULL/0 in this way.
	14. Added support for Bidi_Class and a number of binary Unicode properties,
	    including Bidi_Control.
	15. Fix some minor issues raised by clang sanitize.
	16. Very minor code speed up for maximizing character property matches.
	17. A number of changes to script matching for \p and \P:
	    (a) Script extensions for a character are now coded as a bitmap instead of
	        a list of script numbers, which should be faster and does not need a
	        loop.
	    (b) Added the syntax \p{script:xxx} and \p{script_extensions:xxx} (synonyms
	        sc and scx).
	    (c) Changed \p{scriptname} from being the same as \p{sc:scriptname} to being
	        the same as \p{scx:scriptname} because this change happened in Perl at
	        release 5.26.
	    (d) The standard Unicode 4-letter abbreviations for script names are now
	        recognized.
	    (e) In accordance with Unicode and Perl's "loose matching" rules, spaces,
	        hyphens, and underscores are ignored in property names, which are then
	        matched independent of case.
	18. The Python scripts in the maint directory have been refactored. There are
	    now three scripts that generate pcre2_ucd.c, pcre2_ucp.h, and pcre2_ucptables.c
	    (which is #included by pcre2_tables.c). The data lists that used to be
	    duplicated are now held in a single common Python module.
	19. On CHERI, and thus Arm's Morello prototype, pointers are represented as
	    hardware capabilities, which consist of both an integer address and additional
	    metadata, meaning they are twice the size of the platform's size_t type, i.e.
	    16 bytes on a 64-bit system. The ovector member of heapframe happens to only be
	    8 byte aligned, and so computing frame_size ended up with a multiple of 8 but
	    not 16. Whilst the first frame was always suitably aligned, this then
	    misaligned the frame that follows, resulting in an alignment fault when storing
	    a pointer to Fecode at the start of match. Patch to fix this issue by Jessica
	    Clarke PR#72.
	20. Added -LP and -LS listing options to pcre2test.
	21. A user discovered that the library names in CMakeLists.txt for MSVC
	    debugger (PDB) files were incorrect - perhaps never tried for PCRE2?
	22. An item such as [Aa] is optimized into a caseless single character match.
	    When this was quantified (e.g. [Aa]{2}) and was also the last literal item in a
	    pattern, the optimizing "must be present for a match" character check was not
	    being flagged as caseless, causing some matches that should have succeeded to
	    fail.
	23. Fixed a unicode properrty matching issue in JIT. The character was not
	    fully read in caseless matching.
	24. Fixed an issue affecting recursions in JIT caused by duplicated data
	    transfers.
	25. Merged patch from @carenas (GitHub #96) which fixes some problems with
	    pcre2test and readline/readedit:
	      * Use the right header for libedit in FreeBSD with autoconf
	      * Really allow libedit with cmake
	      * Avoid using readline headers with libedit

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
---
 config/rootfiles/common/pcre2 | 226 +++++++++++++++++-----------------
 lfs/pcre2                     |   6 +-
 2 files changed, 116 insertions(+), 116 deletions(-)
  

Comments

Peter Müller April 24, 2022, 7:11 p.m. UTC | #1
Reviewed-by: Peter Müller <peter.mueller@ipfire.org>

> - Update from 10.39 to 10.40
> - Update of rootfile
> - Changelog
>    Version 10.40 15-April-2022
> 	1. Merged patch from @carenas (GitHub #35, 7db87842) to fix pcre2grep incorrect
> 	   handling of multiple passes.
> 	2. Merged patch from @carenas (GitHub #36, dae47509) to fix portability issue
> 	   in pcre2grep with buffered fseek(stdin).
> 	3. Merged patch from @carenas (GitHub #37, acc520924) to fix tests when -S is
> 	   not supported.
> 	4. Revert an unintended change in JIT repeat detection.
> 	5. Merged patch from @carenas (GitHub #52, b037bfa1) to fix build on GNU Hurd.
> 	6. Merged documentation and comments patches from @carenas (GitHub #47).
> 	7. Merged patch from @carenas (GitHub #49) to remove obsolete JFriedl test code
> 	   from pcre2grep.
> 	8. Merged patch from @carenas (GitHub #48) to fix CMake install issue #46.
> 	9. Merged patch from @carenas (GitHub #53) fixing NULL checks in matching and
> 	   substituting.
> 	10. Add null_subject and null_replacement modifiers to pcre2test.
> 	11. Add check for NULL subject to POSIX regexec() function.
> 	12. Add check for NULL replacement to pcre2_substitute().
> 	13. For the subject arguments of pcre2_match(), pcre2_dfa_match(), and
> 	    pcre2_substitute(), and the replacement argument of the latter, if the pointer
> 	    is NULL and the length is zero, treat as an empty string. Apparently a number
> 	    of applications treat NULL/0 in this way.
> 	14. Added support for Bidi_Class and a number of binary Unicode properties,
> 	    including Bidi_Control.
> 	15. Fix some minor issues raised by clang sanitize.
> 	16. Very minor code speed up for maximizing character property matches.
> 	17. A number of changes to script matching for \p and \P:
> 	    (a) Script extensions for a character are now coded as a bitmap instead of
> 	        a list of script numbers, which should be faster and does not need a
> 	        loop.
> 	    (b) Added the syntax \p{script:xxx} and \p{script_extensions:xxx} (synonyms
> 	        sc and scx).
> 	    (c) Changed \p{scriptname} from being the same as \p{sc:scriptname} to being
> 	        the same as \p{scx:scriptname} because this change happened in Perl at
> 	        release 5.26.
> 	    (d) The standard Unicode 4-letter abbreviations for script names are now
> 	        recognized.
> 	    (e) In accordance with Unicode and Perl's "loose matching" rules, spaces,
> 	        hyphens, and underscores are ignored in property names, which are then
> 	        matched independent of case.
> 	18. The Python scripts in the maint directory have been refactored. There are
> 	    now three scripts that generate pcre2_ucd.c, pcre2_ucp.h, and pcre2_ucptables.c
> 	    (which is #included by pcre2_tables.c). The data lists that used to be
> 	    duplicated are now held in a single common Python module.
> 	19. On CHERI, and thus Arm's Morello prototype, pointers are represented as
> 	    hardware capabilities, which consist of both an integer address and additional
> 	    metadata, meaning they are twice the size of the platform's size_t type, i.e.
> 	    16 bytes on a 64-bit system. The ovector member of heapframe happens to only be
> 	    8 byte aligned, and so computing frame_size ended up with a multiple of 8 but
> 	    not 16. Whilst the first frame was always suitably aligned, this then
> 	    misaligned the frame that follows, resulting in an alignment fault when storing
> 	    a pointer to Fecode at the start of match. Patch to fix this issue by Jessica
> 	    Clarke PR#72.
> 	20. Added -LP and -LS listing options to pcre2test.
> 	21. A user discovered that the library names in CMakeLists.txt for MSVC
> 	    debugger (PDB) files were incorrect - perhaps never tried for PCRE2?
> 	22. An item such as [Aa] is optimized into a caseless single character match.
> 	    When this was quantified (e.g. [Aa]{2}) and was also the last literal item in a
> 	    pattern, the optimizing "must be present for a match" character check was not
> 	    being flagged as caseless, causing some matches that should have succeeded to
> 	    fail.
> 	23. Fixed a unicode properrty matching issue in JIT. The character was not
> 	    fully read in caseless matching.
> 	24. Fixed an issue affecting recursions in JIT caused by duplicated data
> 	    transfers.
> 	25. Merged patch from @carenas (GitHub #96) which fixes some problems with
> 	    pcre2test and readline/readedit:
> 	      * Use the right header for libedit in FreeBSD with autoconf
> 	      * Really allow libedit with cmake
> 	      * Avoid using readline headers with libedit
> 
> Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
> ---
>  config/rootfiles/common/pcre2 | 226 +++++++++++++++++-----------------
>  lfs/pcre2                     |   6 +-
>  2 files changed, 116 insertions(+), 116 deletions(-)
> 
> diff --git a/config/rootfiles/common/pcre2 b/config/rootfiles/common/pcre2
> index 9d3e33496..716f23661 100644
> --- a/config/rootfiles/common/pcre2
> +++ b/config/rootfiles/common/pcre2
> @@ -6,132 +6,132 @@
>  #usr/lib/libpcre2-16.la
>  #usr/lib/libpcre2-16.so
>  usr/lib/libpcre2-16.so.0
> -usr/lib/libpcre2-16.so.0.10.4
> +usr/lib/libpcre2-16.so.0.11.0
>  #usr/lib/libpcre2-32.la
>  #usr/lib/libpcre2-32.so
>  usr/lib/libpcre2-32.so.0
> -usr/lib/libpcre2-32.so.0.10.4
> +usr/lib/libpcre2-32.so.0.11.0
>  #usr/lib/libpcre2-8.la
>  #usr/lib/libpcre2-8.so
>  usr/lib/libpcre2-8.so.0
> -usr/lib/libpcre2-8.so.0.10.4
> +usr/lib/libpcre2-8.so.0.11.0
>  #usr/lib/libpcre2-posix.la
>  #usr/lib/libpcre2-posix.so
>  usr/lib/libpcre2-posix.so.3
> -usr/lib/libpcre2-posix.so.3.0.1
> +usr/lib/libpcre2-posix.so.3.0.2
>  #usr/lib/pkgconfig/libpcre2-16.pc
>  #usr/lib/pkgconfig/libpcre2-32.pc
>  #usr/lib/pkgconfig/libpcre2-8.pc
>  #usr/lib/pkgconfig/libpcre2-posix.pc
> -#usr/share/doc/pcre-pcre2-10.39
> -#usr/share/doc/pcre-pcre2-10.39/AUTHORS
> -#usr/share/doc/pcre-pcre2-10.39/COPYING
> -#usr/share/doc/pcre-pcre2-10.39/ChangeLog
> -#usr/share/doc/pcre-pcre2-10.39/LICENCE
> -#usr/share/doc/pcre-pcre2-10.39/NEWS
> -#usr/share/doc/pcre-pcre2-10.39/README
> -#usr/share/doc/pcre-pcre2-10.39/html
> -#usr/share/doc/pcre-pcre2-10.39/html/NON-AUTOTOOLS-BUILD.txt
> -#usr/share/doc/pcre-pcre2-10.39/html/README.txt
> -#usr/share/doc/pcre-pcre2-10.39/html/index.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2-config.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_callout_enumerate.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_code_copy.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_code_copy_with_tables.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_code_free.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_compile.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_compile_context_copy.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_compile_context_create.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_compile_context_free.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_config.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_convert_context_copy.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_convert_context_create.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_convert_context_free.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_converted_pattern_free.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_dfa_match.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_general_context_copy.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_general_context_create.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_general_context_free.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_get_error_message.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_get_mark.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_get_match_data_size.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_get_ovector_count.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_get_ovector_pointer.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_get_startchar.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_jit_compile.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_jit_free_unused_memory.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_jit_match.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_jit_stack_assign.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_jit_stack_create.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_jit_stack_free.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_maketables.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_maketables_free.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_match.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_match_context_copy.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_match_context_create.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_match_context_free.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_match_data_create.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_match_data_create_from_pattern.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_match_data_free.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_pattern_convert.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_pattern_info.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_serialize_decode.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_serialize_encode.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_serialize_free.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_serialize_get_number_of_codes.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_set_bsr.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_set_callout.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_set_character_tables.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_set_compile_extra_options.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_set_compile_recursion_guard.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_set_depth_limit.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_set_glob_escape.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_set_glob_separator.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_set_heap_limit.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_set_match_limit.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_set_max_pattern_length.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_set_newline.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_set_offset_limit.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_set_parens_nest_limit.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_set_recursion_limit.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_set_recursion_memory_management.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_set_substitute_callout.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_substitute.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_substring_copy_byname.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_substring_copy_bynumber.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_substring_free.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_substring_get_byname.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_substring_get_bynumber.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_substring_length_byname.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_substring_length_bynumber.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_substring_list_free.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_substring_list_get.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_substring_nametable_scan.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2_substring_number_from_name.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2api.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2build.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2callout.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2compat.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2convert.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2demo.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2grep.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2jit.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2limits.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2matching.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2partial.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2pattern.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2perform.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2posix.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2sample.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2serialize.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2syntax.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2test.html
> -#usr/share/doc/pcre-pcre2-10.39/html/pcre2unicode.html
> -#usr/share/doc/pcre-pcre2-10.39/pcre2-config.txt
> -#usr/share/doc/pcre-pcre2-10.39/pcre2.txt
> -#usr/share/doc/pcre-pcre2-10.39/pcre2grep.txt
> -#usr/share/doc/pcre-pcre2-10.39/pcre2test.txt
> +#usr/share/doc/pcre-pcre2-10.40
> +#usr/share/doc/pcre-pcre2-10.40/AUTHORS
> +#usr/share/doc/pcre-pcre2-10.40/COPYING
> +#usr/share/doc/pcre-pcre2-10.40/ChangeLog
> +#usr/share/doc/pcre-pcre2-10.40/LICENCE
> +#usr/share/doc/pcre-pcre2-10.40/NEWS
> +#usr/share/doc/pcre-pcre2-10.40/README
> +#usr/share/doc/pcre-pcre2-10.40/html
> +#usr/share/doc/pcre-pcre2-10.40/html/NON-AUTOTOOLS-BUILD.txt
> +#usr/share/doc/pcre-pcre2-10.40/html/README.txt
> +#usr/share/doc/pcre-pcre2-10.40/html/index.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2-config.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_callout_enumerate.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_code_copy.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_code_copy_with_tables.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_code_free.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_compile.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_compile_context_copy.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_compile_context_create.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_compile_context_free.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_config.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_convert_context_copy.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_convert_context_create.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_convert_context_free.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_converted_pattern_free.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_dfa_match.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_general_context_copy.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_general_context_create.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_general_context_free.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_get_error_message.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_get_mark.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_get_match_data_size.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_get_ovector_count.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_get_ovector_pointer.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_get_startchar.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_jit_compile.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_jit_free_unused_memory.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_jit_match.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_jit_stack_assign.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_jit_stack_create.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_jit_stack_free.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_maketables.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_maketables_free.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_match.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_match_context_copy.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_match_context_create.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_match_context_free.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_match_data_create.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_match_data_create_from_pattern.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_match_data_free.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_pattern_convert.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_pattern_info.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_serialize_decode.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_serialize_encode.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_serialize_free.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_serialize_get_number_of_codes.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_set_bsr.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_set_callout.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_set_character_tables.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_set_compile_extra_options.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_set_compile_recursion_guard.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_set_depth_limit.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_set_glob_escape.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_set_glob_separator.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_set_heap_limit.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_set_match_limit.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_set_max_pattern_length.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_set_newline.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_set_offset_limit.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_set_parens_nest_limit.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_set_recursion_limit.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_set_recursion_memory_management.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_set_substitute_callout.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_substitute.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_substring_copy_byname.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_substring_copy_bynumber.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_substring_free.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_substring_get_byname.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_substring_get_bynumber.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_substring_length_byname.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_substring_length_bynumber.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_substring_list_free.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_substring_list_get.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_substring_nametable_scan.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2_substring_number_from_name.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2api.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2build.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2callout.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2compat.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2convert.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2demo.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2grep.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2jit.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2limits.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2matching.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2partial.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2pattern.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2perform.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2posix.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2sample.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2serialize.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2syntax.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2test.html
> +#usr/share/doc/pcre-pcre2-10.40/html/pcre2unicode.html
> +#usr/share/doc/pcre-pcre2-10.40/pcre2-config.txt
> +#usr/share/doc/pcre-pcre2-10.40/pcre2.txt
> +#usr/share/doc/pcre-pcre2-10.40/pcre2grep.txt
> +#usr/share/doc/pcre-pcre2-10.40/pcre2test.txt
>  #usr/share/man/man1/pcre2-config.1
>  #usr/share/man/man1/pcre2grep.1
>  #usr/share/man/man1/pcre2test.1
> diff --git a/lfs/pcre2 b/lfs/pcre2
> index 9684709d9..b57af0971 100644
> --- a/lfs/pcre2
> +++ b/lfs/pcre2
> @@ -24,10 +24,10 @@
>  
>  include Config
>  
> -VER        = 10.39
> +VER        = 10.40
>  
>  THISAPP    = pcre2-$(VER)
> -DL_FILE    = $(THISAPP).tar.gz
> +DL_FILE    = $(THISAPP).tar.bz2
>  DL_FROM    = $(URL_IPFIRE)
>  DIR_APP    = $(DIR_SRC)/$(THISAPP)
>  TARGET     = $(DIR_INFO)/$(THISAPP)
> @@ -54,7 +54,7 @@ objects = $(DL_FILE)
>  
>  $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
>  
> -$(DL_FILE)_BLAKE2 = 01df50fc4b791402156cfd2282e7ad82616d71dff12dbedc091b3a036f1fd1c933ebd870ccdd86a6da400732e5a63922c6f6731ea9759065a8de9485a7e842f7
> +$(DL_FILE)_BLAKE2 = 627a204585b92238eda81b4befc88757a81d75b0d9fa26ea6d51afcdd93f7e2d102a2245bf3c8e1f5f9ddf69a316c419c948b741a64442bb567480015543e49b
>  
>  install : $(TARGET)
>
  

Patch

diff --git a/config/rootfiles/common/pcre2 b/config/rootfiles/common/pcre2
index 9d3e33496..716f23661 100644
--- a/config/rootfiles/common/pcre2
+++ b/config/rootfiles/common/pcre2
@@ -6,132 +6,132 @@ 
 #usr/lib/libpcre2-16.la
 #usr/lib/libpcre2-16.so
 usr/lib/libpcre2-16.so.0
-usr/lib/libpcre2-16.so.0.10.4
+usr/lib/libpcre2-16.so.0.11.0
 #usr/lib/libpcre2-32.la
 #usr/lib/libpcre2-32.so
 usr/lib/libpcre2-32.so.0
-usr/lib/libpcre2-32.so.0.10.4
+usr/lib/libpcre2-32.so.0.11.0
 #usr/lib/libpcre2-8.la
 #usr/lib/libpcre2-8.so
 usr/lib/libpcre2-8.so.0
-usr/lib/libpcre2-8.so.0.10.4
+usr/lib/libpcre2-8.so.0.11.0
 #usr/lib/libpcre2-posix.la
 #usr/lib/libpcre2-posix.so
 usr/lib/libpcre2-posix.so.3
-usr/lib/libpcre2-posix.so.3.0.1
+usr/lib/libpcre2-posix.so.3.0.2
 #usr/lib/pkgconfig/libpcre2-16.pc
 #usr/lib/pkgconfig/libpcre2-32.pc
 #usr/lib/pkgconfig/libpcre2-8.pc
 #usr/lib/pkgconfig/libpcre2-posix.pc
-#usr/share/doc/pcre-pcre2-10.39
-#usr/share/doc/pcre-pcre2-10.39/AUTHORS
-#usr/share/doc/pcre-pcre2-10.39/COPYING
-#usr/share/doc/pcre-pcre2-10.39/ChangeLog
-#usr/share/doc/pcre-pcre2-10.39/LICENCE
-#usr/share/doc/pcre-pcre2-10.39/NEWS
-#usr/share/doc/pcre-pcre2-10.39/README
-#usr/share/doc/pcre-pcre2-10.39/html
-#usr/share/doc/pcre-pcre2-10.39/html/NON-AUTOTOOLS-BUILD.txt
-#usr/share/doc/pcre-pcre2-10.39/html/README.txt
-#usr/share/doc/pcre-pcre2-10.39/html/index.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2-config.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_callout_enumerate.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_code_copy.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_code_copy_with_tables.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_code_free.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_compile.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_compile_context_copy.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_compile_context_create.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_compile_context_free.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_config.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_convert_context_copy.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_convert_context_create.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_convert_context_free.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_converted_pattern_free.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_dfa_match.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_general_context_copy.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_general_context_create.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_general_context_free.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_get_error_message.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_get_mark.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_get_match_data_size.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_get_ovector_count.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_get_ovector_pointer.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_get_startchar.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_jit_compile.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_jit_free_unused_memory.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_jit_match.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_jit_stack_assign.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_jit_stack_create.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_jit_stack_free.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_maketables.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_maketables_free.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_match.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_match_context_copy.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_match_context_create.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_match_context_free.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_match_data_create.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_match_data_create_from_pattern.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_match_data_free.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_pattern_convert.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_pattern_info.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_serialize_decode.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_serialize_encode.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_serialize_free.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_serialize_get_number_of_codes.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_set_bsr.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_set_callout.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_set_character_tables.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_set_compile_extra_options.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_set_compile_recursion_guard.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_set_depth_limit.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_set_glob_escape.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_set_glob_separator.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_set_heap_limit.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_set_match_limit.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_set_max_pattern_length.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_set_newline.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_set_offset_limit.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_set_parens_nest_limit.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_set_recursion_limit.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_set_recursion_memory_management.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_set_substitute_callout.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_substitute.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_substring_copy_byname.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_substring_copy_bynumber.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_substring_free.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_substring_get_byname.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_substring_get_bynumber.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_substring_length_byname.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_substring_length_bynumber.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_substring_list_free.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_substring_list_get.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_substring_nametable_scan.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2_substring_number_from_name.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2api.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2build.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2callout.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2compat.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2convert.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2demo.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2grep.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2jit.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2limits.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2matching.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2partial.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2pattern.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2perform.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2posix.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2sample.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2serialize.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2syntax.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2test.html
-#usr/share/doc/pcre-pcre2-10.39/html/pcre2unicode.html
-#usr/share/doc/pcre-pcre2-10.39/pcre2-config.txt
-#usr/share/doc/pcre-pcre2-10.39/pcre2.txt
-#usr/share/doc/pcre-pcre2-10.39/pcre2grep.txt
-#usr/share/doc/pcre-pcre2-10.39/pcre2test.txt
+#usr/share/doc/pcre-pcre2-10.40
+#usr/share/doc/pcre-pcre2-10.40/AUTHORS
+#usr/share/doc/pcre-pcre2-10.40/COPYING
+#usr/share/doc/pcre-pcre2-10.40/ChangeLog
+#usr/share/doc/pcre-pcre2-10.40/LICENCE
+#usr/share/doc/pcre-pcre2-10.40/NEWS
+#usr/share/doc/pcre-pcre2-10.40/README
+#usr/share/doc/pcre-pcre2-10.40/html
+#usr/share/doc/pcre-pcre2-10.40/html/NON-AUTOTOOLS-BUILD.txt
+#usr/share/doc/pcre-pcre2-10.40/html/README.txt
+#usr/share/doc/pcre-pcre2-10.40/html/index.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2-config.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_callout_enumerate.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_code_copy.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_code_copy_with_tables.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_code_free.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_compile.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_compile_context_copy.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_compile_context_create.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_compile_context_free.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_config.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_convert_context_copy.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_convert_context_create.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_convert_context_free.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_converted_pattern_free.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_dfa_match.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_general_context_copy.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_general_context_create.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_general_context_free.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_get_error_message.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_get_mark.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_get_match_data_size.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_get_ovector_count.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_get_ovector_pointer.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_get_startchar.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_jit_compile.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_jit_free_unused_memory.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_jit_match.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_jit_stack_assign.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_jit_stack_create.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_jit_stack_free.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_maketables.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_maketables_free.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_match.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_match_context_copy.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_match_context_create.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_match_context_free.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_match_data_create.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_match_data_create_from_pattern.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_match_data_free.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_pattern_convert.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_pattern_info.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_serialize_decode.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_serialize_encode.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_serialize_free.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_serialize_get_number_of_codes.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_set_bsr.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_set_callout.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_set_character_tables.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_set_compile_extra_options.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_set_compile_recursion_guard.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_set_depth_limit.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_set_glob_escape.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_set_glob_separator.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_set_heap_limit.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_set_match_limit.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_set_max_pattern_length.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_set_newline.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_set_offset_limit.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_set_parens_nest_limit.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_set_recursion_limit.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_set_recursion_memory_management.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_set_substitute_callout.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_substitute.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_substring_copy_byname.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_substring_copy_bynumber.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_substring_free.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_substring_get_byname.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_substring_get_bynumber.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_substring_length_byname.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_substring_length_bynumber.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_substring_list_free.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_substring_list_get.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_substring_nametable_scan.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2_substring_number_from_name.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2api.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2build.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2callout.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2compat.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2convert.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2demo.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2grep.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2jit.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2limits.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2matching.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2partial.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2pattern.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2perform.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2posix.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2sample.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2serialize.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2syntax.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2test.html
+#usr/share/doc/pcre-pcre2-10.40/html/pcre2unicode.html
+#usr/share/doc/pcre-pcre2-10.40/pcre2-config.txt
+#usr/share/doc/pcre-pcre2-10.40/pcre2.txt
+#usr/share/doc/pcre-pcre2-10.40/pcre2grep.txt
+#usr/share/doc/pcre-pcre2-10.40/pcre2test.txt
 #usr/share/man/man1/pcre2-config.1
 #usr/share/man/man1/pcre2grep.1
 #usr/share/man/man1/pcre2test.1
diff --git a/lfs/pcre2 b/lfs/pcre2
index 9684709d9..b57af0971 100644
--- a/lfs/pcre2
+++ b/lfs/pcre2
@@ -24,10 +24,10 @@ 
 
 include Config
 
-VER        = 10.39
+VER        = 10.40
 
 THISAPP    = pcre2-$(VER)
-DL_FILE    = $(THISAPP).tar.gz
+DL_FILE    = $(THISAPP).tar.bz2
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
@@ -54,7 +54,7 @@  objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_BLAKE2 = 01df50fc4b791402156cfd2282e7ad82616d71dff12dbedc091b3a036f1fd1c933ebd870ccdd86a6da400732e5a63922c6f6731ea9759065a8de9485a7e842f7
+$(DL_FILE)_BLAKE2 = 627a204585b92238eda81b4befc88757a81d75b0d9fa26ea6d51afcdd93f7e2d102a2245bf3c8e1f5f9ddf69a316c419c948b741a64442bb567480015543e49b
 
 install : $(TARGET)