pcre2: Update to 10.42

Message ID 20221215163220.1491-1-matthias.fischer@ipfire.org
State Accepted
Commit f43be66179662a073a3c54d6a97fe9a5ac5dc343
Headers
Series pcre2: Update to 10.42 |

Commit Message

Matthias Fischer Dec. 15, 2022, 4:32 p.m. UTC
  See:
https://github.com/PCRE2Project/pcre2/releases/tag/pcre2-10.41
and
https://github.com/PCRE2Project/pcre2/releases/tag/pcre2-10.42

Excerpts from changelogs:

"Version 10.41 06-December-2022
------------------------------

1. Add fflush() before and after a fork callout in pcre2grep to get its output
to be the same on all systems. (There were previously ordering differences in
Alpine Linux).

2. Merged patch from @carenas (GitHub #110) for pthreads support in CMake.

3. SSF scorecards grumbled about possible overflow in an expression in
pcre2test. It never would have overflowed in practice, but some casts have been
added and at the some time there's been some tidying of fprints that output
size_t values.

4. PR #94 showed up an unused enum in pcre2_convert.c, which is now removed.

5. Minor code re-arrangement to remove gcc warning about realloc() in
pcre2test.

6. Change a number of int variables that hold buffer and line lengths in
pcre2grep to PCRE2_SIZE (aka size_t).

7. Added an #ifdef to cut out a call to PRIV(jit_free) when JIT is not
supported (even though that function would do nothing in that case) at the
request of a user who doesn't even want to link with pcre_jit_compile.o. Also
tidied up an untidy #ifdef arrangement in pcre2test.

8. Fixed an issue in the backtracking optimization of character repeats in
JIT. Furthermore optimize star repetitions, not just plus repetitions.

9. Removed the use of an initial backtracking frames vector on the system stack
in pcre2_match() so that it now always uses the heap. (In a multi-thread
environment with very small stacks there had been an issue.) This also is
tidier for JIT matching, which didn't need that vector. The heap vector is now
remembered in the match data block and re-used if that block itself is re-used.
It is freed with the match data block.

10. Adjusted the find_limits code in pcre2test to work with change 9 above.

11. Added find_limits_noheap to pcre2test, because the heap limits are now
different in different environments and so cannot be included in the standard
tests.

12. Created a test for pcre2_match() heap processing that is not part of the
tests run by 'make check', but can be run manually. The current output is from
a 64-bit system.

13. Implemented -Z aka --null in pcre2grep.

14. A minor change to pcre2test and the addition of several new pcre2grep tests
have improved LCOV coverage statistics. At the same time, code in pcre2grep and
elsewhere that can never be obeyed in normal testing has been excluded from
coverage.

15. Fixed a bug in pcre2grep that could cause an extra newline to be written
after output generaed by --output.

16. If a file has a .bz2 extension but is not in fact compressed, pcre2grep
should process it as a plain text file. A bug stopped this happening; now fixed
and added to the tests.

17. When pcre2grep was running not in UTF mode, if a string specified by
--output or obtained from a callout in a pattern contained a character (byte)
greater than 127, it was incorrectly output in UTF-8 format.

18. Added some casts after warnings from Clang sanitize.

19. Merged patch from cbouc (GitHub #139): 4 function prototypes were missing
PCRE2_CALL_CONVENTION in src/pcre2posix.h. All function prototypes returning
pointers had out of place PCRE2_CALL_CONVENTION in src/pcre2.h.*. These
produced errors when building for Windows with #define PCRE2_CALL_CONVENTION
__stdcall.

20. A negative repeat value in a pcre2test subject line was not being
diagnosed, leading to infinite looping.

21. Updated RunGrepTest to discard the warning that Bash now gives when setting
LC_CTYPE to a bad value (because older versions didn't).

22. Updated pcre2grep so that it behaves like GNU grep when matching more than
one pattern and a later pattern matches at an earlier point in the subject when
the matched substrings are being identified by colour or by offsets.

23. Updated the PrepareRelease script so that the man page that it makes for
the pcre2demo demonstration program is more standard and does not cause errors
when processed by lexgrog or mandb -c (GitHub issue #160).

24. The JIT compiler was updated."

Version 10.42 11-December-2022
------------------------------

"This release is mainly to fix a problem with 10.41, which is broken for
programs that include pcre2posix.h but not pcre2.h. Some other minor fixes
are included.

1. Change 19 of 10.41 wasn't quite right; it put the definition of a default,
empty value for PCRE2_CALL_CONVENTION in src/pcre2posix.c instead of
src/pcre2posix.h, which meant that programs that included pcre2posix.h but not
pcre2.h failed to compile.

2. To catch similar issues to the above in future, a new small test program
that includes pcre2posix.h but not pcre2.h has been added to the test suite.

3. When the -S option of pcre2test was used to set a stack size greater than
the allowed maximum, the error message displayed the hard limit incorrectly.
This was pointed out on GitHub pull request #171, but the suggested patch
didn't cope with all cases. Some further modification was required.

4. Supplying an ovector count of more than 65535 to pcre2_match_data_create()
caused a crash because the field in the match data block is only 16 bits. A
maximum of 65535 is now silently applied.

5. Merged @carenas patch #175 which fixes #86 - segfault on aarch64 (ARM),"

Signed-off-by: Matthias Fischer <matthias.fischer@ipfire.org>
---
 config/rootfiles/common/pcre2 | 226 +++++++++++++++++-----------------
 lfs/pcre2                     |   6 +-
 2 files changed, 116 insertions(+), 116 deletions(-)
  

Comments

Peter Müller Dec. 27, 2022, 4:30 p.m. UTC | #1
Reviewed-by: Peter Müller <peter.mueller@ipfire.org>

> See:
> https://github.com/PCRE2Project/pcre2/releases/tag/pcre2-10.41
> and
> https://github.com/PCRE2Project/pcre2/releases/tag/pcre2-10.42
> 
> Excerpts from changelogs:
> 
> "Version 10.41 06-December-2022
> ------------------------------
> 
> 1. Add fflush() before and after a fork callout in pcre2grep to get its output
> to be the same on all systems. (There were previously ordering differences in
> Alpine Linux).
> 
> 2. Merged patch from @carenas (GitHub #110) for pthreads support in CMake.
> 
> 3. SSF scorecards grumbled about possible overflow in an expression in
> pcre2test. It never would have overflowed in practice, but some casts have been
> added and at the some time there's been some tidying of fprints that output
> size_t values.
> 
> 4. PR #94 showed up an unused enum in pcre2_convert.c, which is now removed.
> 
> 5. Minor code re-arrangement to remove gcc warning about realloc() in
> pcre2test.
> 
> 6. Change a number of int variables that hold buffer and line lengths in
> pcre2grep to PCRE2_SIZE (aka size_t).
> 
> 7. Added an #ifdef to cut out a call to PRIV(jit_free) when JIT is not
> supported (even though that function would do nothing in that case) at the
> request of a user who doesn't even want to link with pcre_jit_compile.o. Also
> tidied up an untidy #ifdef arrangement in pcre2test.
> 
> 8. Fixed an issue in the backtracking optimization of character repeats in
> JIT. Furthermore optimize star repetitions, not just plus repetitions.
> 
> 9. Removed the use of an initial backtracking frames vector on the system stack
> in pcre2_match() so that it now always uses the heap. (In a multi-thread
> environment with very small stacks there had been an issue.) This also is
> tidier for JIT matching, which didn't need that vector. The heap vector is now
> remembered in the match data block and re-used if that block itself is re-used.
> It is freed with the match data block.
> 
> 10. Adjusted the find_limits code in pcre2test to work with change 9 above.
> 
> 11. Added find_limits_noheap to pcre2test, because the heap limits are now
> different in different environments and so cannot be included in the standard
> tests.
> 
> 12. Created a test for pcre2_match() heap processing that is not part of the
> tests run by 'make check', but can be run manually. The current output is from
> a 64-bit system.
> 
> 13. Implemented -Z aka --null in pcre2grep.
> 
> 14. A minor change to pcre2test and the addition of several new pcre2grep tests
> have improved LCOV coverage statistics. At the same time, code in pcre2grep and
> elsewhere that can never be obeyed in normal testing has been excluded from
> coverage.
> 
> 15. Fixed a bug in pcre2grep that could cause an extra newline to be written
> after output generaed by --output.
> 
> 16. If a file has a .bz2 extension but is not in fact compressed, pcre2grep
> should process it as a plain text file. A bug stopped this happening; now fixed
> and added to the tests.
> 
> 17. When pcre2grep was running not in UTF mode, if a string specified by
> --output or obtained from a callout in a pattern contained a character (byte)
> greater than 127, it was incorrectly output in UTF-8 format.
> 
> 18. Added some casts after warnings from Clang sanitize.
> 
> 19. Merged patch from cbouc (GitHub #139): 4 function prototypes were missing
> PCRE2_CALL_CONVENTION in src/pcre2posix.h. All function prototypes returning
> pointers had out of place PCRE2_CALL_CONVENTION in src/pcre2.h.*. These
> produced errors when building for Windows with #define PCRE2_CALL_CONVENTION
> __stdcall.
> 
> 20. A negative repeat value in a pcre2test subject line was not being
> diagnosed, leading to infinite looping.
> 
> 21. Updated RunGrepTest to discard the warning that Bash now gives when setting
> LC_CTYPE to a bad value (because older versions didn't).
> 
> 22. Updated pcre2grep so that it behaves like GNU grep when matching more than
> one pattern and a later pattern matches at an earlier point in the subject when
> the matched substrings are being identified by colour or by offsets.
> 
> 23. Updated the PrepareRelease script so that the man page that it makes for
> the pcre2demo demonstration program is more standard and does not cause errors
> when processed by lexgrog or mandb -c (GitHub issue #160).
> 
> 24. The JIT compiler was updated."
> 
> Version 10.42 11-December-2022
> ------------------------------
> 
> "This release is mainly to fix a problem with 10.41, which is broken for
> programs that include pcre2posix.h but not pcre2.h. Some other minor fixes
> are included.
> 
> 1. Change 19 of 10.41 wasn't quite right; it put the definition of a default,
> empty value for PCRE2_CALL_CONVENTION in src/pcre2posix.c instead of
> src/pcre2posix.h, which meant that programs that included pcre2posix.h but not
> pcre2.h failed to compile.
> 
> 2. To catch similar issues to the above in future, a new small test program
> that includes pcre2posix.h but not pcre2.h has been added to the test suite.
> 
> 3. When the -S option of pcre2test was used to set a stack size greater than
> the allowed maximum, the error message displayed the hard limit incorrectly.
> This was pointed out on GitHub pull request #171, but the suggested patch
> didn't cope with all cases. Some further modification was required.
> 
> 4. Supplying an ovector count of more than 65535 to pcre2_match_data_create()
> caused a crash because the field in the match data block is only 16 bits. A
> maximum of 65535 is now silently applied.
> 
> 5. Merged @carenas patch #175 which fixes #86 - segfault on aarch64 (ARM),"
> 
> Signed-off-by: Matthias Fischer <matthias.fischer@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 716f23661..925efb675 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.11.0
> +usr/lib/libpcre2-16.so.0.11.2
>  #usr/lib/libpcre2-32.la
>  #usr/lib/libpcre2-32.so
>  usr/lib/libpcre2-32.so.0
> -usr/lib/libpcre2-32.so.0.11.0
> +usr/lib/libpcre2-32.so.0.11.2
>  #usr/lib/libpcre2-8.la
>  #usr/lib/libpcre2-8.so
>  usr/lib/libpcre2-8.so.0
> -usr/lib/libpcre2-8.so.0.11.0
> +usr/lib/libpcre2-8.so.0.11.2
>  #usr/lib/libpcre2-posix.la
>  #usr/lib/libpcre2-posix.so
>  usr/lib/libpcre2-posix.so.3
> -usr/lib/libpcre2-posix.so.3.0.2
> +usr/lib/libpcre2-posix.so.3.0.4
>  #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.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/doc/pcre-pcre2-10.42
> +#usr/share/doc/pcre-pcre2-10.42/AUTHORS
> +#usr/share/doc/pcre-pcre2-10.42/COPYING
> +#usr/share/doc/pcre-pcre2-10.42/ChangeLog
> +#usr/share/doc/pcre-pcre2-10.42/LICENCE
> +#usr/share/doc/pcre-pcre2-10.42/NEWS
> +#usr/share/doc/pcre-pcre2-10.42/README
> +#usr/share/doc/pcre-pcre2-10.42/html
> +#usr/share/doc/pcre-pcre2-10.42/html/NON-AUTOTOOLS-BUILD.txt
> +#usr/share/doc/pcre-pcre2-10.42/html/README.txt
> +#usr/share/doc/pcre-pcre2-10.42/html/index.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2-config.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_callout_enumerate.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_code_copy.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_code_copy_with_tables.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_code_free.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_compile.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_compile_context_copy.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_compile_context_create.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_compile_context_free.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_config.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_convert_context_copy.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_convert_context_create.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_convert_context_free.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_converted_pattern_free.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_dfa_match.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_general_context_copy.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_general_context_create.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_general_context_free.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_get_error_message.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_get_mark.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_get_match_data_size.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_get_ovector_count.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_get_ovector_pointer.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_get_startchar.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_jit_compile.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_jit_free_unused_memory.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_jit_match.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_jit_stack_assign.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_jit_stack_create.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_jit_stack_free.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_maketables.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_maketables_free.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_match.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_match_context_copy.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_match_context_create.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_match_context_free.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_match_data_create.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_match_data_create_from_pattern.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_match_data_free.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_pattern_convert.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_pattern_info.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_serialize_decode.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_serialize_encode.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_serialize_free.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_serialize_get_number_of_codes.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_set_bsr.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_set_callout.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_set_character_tables.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_set_compile_extra_options.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_set_compile_recursion_guard.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_set_depth_limit.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_set_glob_escape.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_set_glob_separator.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_set_heap_limit.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_set_match_limit.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_set_max_pattern_length.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_set_newline.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_set_offset_limit.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_set_parens_nest_limit.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_set_recursion_limit.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_set_recursion_memory_management.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_set_substitute_callout.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_substitute.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_substring_copy_byname.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_substring_copy_bynumber.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_substring_free.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_substring_get_byname.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_substring_get_bynumber.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_substring_length_byname.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_substring_length_bynumber.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_substring_list_free.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_substring_list_get.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_substring_nametable_scan.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2_substring_number_from_name.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2api.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2build.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2callout.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2compat.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2convert.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2demo.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2grep.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2jit.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2limits.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2matching.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2partial.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2pattern.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2perform.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2posix.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2sample.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2serialize.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2syntax.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2test.html
> +#usr/share/doc/pcre-pcre2-10.42/html/pcre2unicode.html
> +#usr/share/doc/pcre-pcre2-10.42/pcre2-config.txt
> +#usr/share/doc/pcre-pcre2-10.42/pcre2.txt
> +#usr/share/doc/pcre-pcre2-10.42/pcre2grep.txt
> +#usr/share/doc/pcre-pcre2-10.42/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 b57af0971..4c23f9021 100644
> --- a/lfs/pcre2
> +++ b/lfs/pcre2
> @@ -1,7 +1,7 @@
>  ###############################################################################
>  #                                                                             #
>  # IPFire.org - A linux based firewall                                         #
> -# Copyright (C) 2007-2019  IPFire Team  <info@ipfire.org>                     #
> +# Copyright (C) 2007-2022  IPFire Team  <info@ipfire.org>                     #
>  #                                                                             #
>  # This program is free software: you can redistribute it and/or modify        #
>  # it under the terms of the GNU General Public License as published by        #
> @@ -24,7 +24,7 @@
>  
>  include Config
>  
> -VER        = 10.40
> +VER        = 10.42
>  
>  THISAPP    = pcre2-$(VER)
>  DL_FILE    = $(THISAPP).tar.bz2
> @@ -54,7 +54,7 @@ objects = $(DL_FILE)
>  
>  $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
>  
> -$(DL_FILE)_BLAKE2 = 627a204585b92238eda81b4befc88757a81d75b0d9fa26ea6d51afcdd93f7e2d102a2245bf3c8e1f5f9ddf69a316c419c948b741a64442bb567480015543e49b
> +$(DL_FILE)_BLAKE2 = 40aa096745548c489a00ead87a191a4d24ecd924a5b8f00401c1273176de15ccb23510882467c8e2b5c1256b97db46fba5fcdfbd9f0d61d86a29d74bb4bca7a0
>  
>  install : $(TARGET)
>
  

Patch

diff --git a/config/rootfiles/common/pcre2 b/config/rootfiles/common/pcre2
index 716f23661..925efb675 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.11.0
+usr/lib/libpcre2-16.so.0.11.2
 #usr/lib/libpcre2-32.la
 #usr/lib/libpcre2-32.so
 usr/lib/libpcre2-32.so.0
-usr/lib/libpcre2-32.so.0.11.0
+usr/lib/libpcre2-32.so.0.11.2
 #usr/lib/libpcre2-8.la
 #usr/lib/libpcre2-8.so
 usr/lib/libpcre2-8.so.0
-usr/lib/libpcre2-8.so.0.11.0
+usr/lib/libpcre2-8.so.0.11.2
 #usr/lib/libpcre2-posix.la
 #usr/lib/libpcre2-posix.so
 usr/lib/libpcre2-posix.so.3
-usr/lib/libpcre2-posix.so.3.0.2
+usr/lib/libpcre2-posix.so.3.0.4
 #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.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/doc/pcre-pcre2-10.42
+#usr/share/doc/pcre-pcre2-10.42/AUTHORS
+#usr/share/doc/pcre-pcre2-10.42/COPYING
+#usr/share/doc/pcre-pcre2-10.42/ChangeLog
+#usr/share/doc/pcre-pcre2-10.42/LICENCE
+#usr/share/doc/pcre-pcre2-10.42/NEWS
+#usr/share/doc/pcre-pcre2-10.42/README
+#usr/share/doc/pcre-pcre2-10.42/html
+#usr/share/doc/pcre-pcre2-10.42/html/NON-AUTOTOOLS-BUILD.txt
+#usr/share/doc/pcre-pcre2-10.42/html/README.txt
+#usr/share/doc/pcre-pcre2-10.42/html/index.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2-config.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_callout_enumerate.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_code_copy.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_code_copy_with_tables.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_code_free.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_compile.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_compile_context_copy.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_compile_context_create.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_compile_context_free.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_config.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_convert_context_copy.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_convert_context_create.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_convert_context_free.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_converted_pattern_free.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_dfa_match.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_general_context_copy.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_general_context_create.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_general_context_free.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_get_error_message.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_get_mark.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_get_match_data_size.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_get_ovector_count.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_get_ovector_pointer.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_get_startchar.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_jit_compile.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_jit_free_unused_memory.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_jit_match.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_jit_stack_assign.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_jit_stack_create.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_jit_stack_free.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_maketables.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_maketables_free.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_match.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_match_context_copy.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_match_context_create.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_match_context_free.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_match_data_create.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_match_data_create_from_pattern.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_match_data_free.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_pattern_convert.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_pattern_info.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_serialize_decode.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_serialize_encode.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_serialize_free.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_serialize_get_number_of_codes.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_set_bsr.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_set_callout.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_set_character_tables.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_set_compile_extra_options.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_set_compile_recursion_guard.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_set_depth_limit.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_set_glob_escape.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_set_glob_separator.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_set_heap_limit.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_set_match_limit.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_set_max_pattern_length.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_set_newline.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_set_offset_limit.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_set_parens_nest_limit.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_set_recursion_limit.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_set_recursion_memory_management.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_set_substitute_callout.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_substitute.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_substring_copy_byname.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_substring_copy_bynumber.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_substring_free.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_substring_get_byname.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_substring_get_bynumber.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_substring_length_byname.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_substring_length_bynumber.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_substring_list_free.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_substring_list_get.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_substring_nametable_scan.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2_substring_number_from_name.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2api.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2build.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2callout.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2compat.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2convert.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2demo.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2grep.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2jit.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2limits.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2matching.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2partial.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2pattern.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2perform.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2posix.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2sample.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2serialize.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2syntax.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2test.html
+#usr/share/doc/pcre-pcre2-10.42/html/pcre2unicode.html
+#usr/share/doc/pcre-pcre2-10.42/pcre2-config.txt
+#usr/share/doc/pcre-pcre2-10.42/pcre2.txt
+#usr/share/doc/pcre-pcre2-10.42/pcre2grep.txt
+#usr/share/doc/pcre-pcre2-10.42/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 b57af0971..4c23f9021 100644
--- a/lfs/pcre2
+++ b/lfs/pcre2
@@ -1,7 +1,7 @@ 
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2019  IPFire Team  <info@ipfire.org>                     #
+# Copyright (C) 2007-2022  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
@@ -24,7 +24,7 @@ 
 
 include Config
 
-VER        = 10.40
+VER        = 10.42
 
 THISAPP    = pcre2-$(VER)
 DL_FILE    = $(THISAPP).tar.bz2
@@ -54,7 +54,7 @@  objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_BLAKE2 = 627a204585b92238eda81b4befc88757a81d75b0d9fa26ea6d51afcdd93f7e2d102a2245bf3c8e1f5f9ddf69a316c419c948b741a64442bb567480015543e49b
+$(DL_FILE)_BLAKE2 = 40aa096745548c489a00ead87a191a4d24ecd924a5b8f00401c1273176de15ccb23510882467c8e2b5c1256b97db46fba5fcdfbd9f0d61d86a29d74bb4bca7a0
 
 install : $(TARGET)