pcre2: Update to 10.41

Message ID 20221208134051.3561409-1-matthias.fischer@ipfire.org
State Superseded
Headers
Series pcre2: Update to 10.41 |

Commit Message

Matthias Fischer Dec. 8, 2022, 1:40 p.m. UTC
  ...it just came my way...

"Mainly bug fixes and tidies;..."

Excerpt from changelog:

"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."

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

Patch

diff --git a/config/rootfiles/common/pcre2 b/config/rootfiles/common/pcre2
index 716f23661..c6e0f8154 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.1
 #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.1
 #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.1
 #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.3
 #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.41
+#usr/share/doc/pcre-pcre2-10.41/AUTHORS
+#usr/share/doc/pcre-pcre2-10.41/COPYING
+#usr/share/doc/pcre-pcre2-10.41/ChangeLog
+#usr/share/doc/pcre-pcre2-10.41/LICENCE
+#usr/share/doc/pcre-pcre2-10.41/NEWS
+#usr/share/doc/pcre-pcre2-10.41/README
+#usr/share/doc/pcre-pcre2-10.41/html
+#usr/share/doc/pcre-pcre2-10.41/html/NON-AUTOTOOLS-BUILD.txt
+#usr/share/doc/pcre-pcre2-10.41/html/README.txt
+#usr/share/doc/pcre-pcre2-10.41/html/index.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2-config.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_callout_enumerate.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_code_copy.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_code_copy_with_tables.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_code_free.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_compile.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_compile_context_copy.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_compile_context_create.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_compile_context_free.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_config.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_convert_context_copy.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_convert_context_create.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_convert_context_free.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_converted_pattern_free.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_dfa_match.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_general_context_copy.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_general_context_create.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_general_context_free.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_get_error_message.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_get_mark.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_get_match_data_size.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_get_ovector_count.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_get_ovector_pointer.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_get_startchar.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_jit_compile.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_jit_free_unused_memory.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_jit_match.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_jit_stack_assign.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_jit_stack_create.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_jit_stack_free.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_maketables.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_maketables_free.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_match.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_match_context_copy.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_match_context_create.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_match_context_free.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_match_data_create.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_match_data_create_from_pattern.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_match_data_free.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_pattern_convert.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_pattern_info.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_serialize_decode.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_serialize_encode.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_serialize_free.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_serialize_get_number_of_codes.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_set_bsr.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_set_callout.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_set_character_tables.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_set_compile_extra_options.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_set_compile_recursion_guard.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_set_depth_limit.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_set_glob_escape.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_set_glob_separator.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_set_heap_limit.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_set_match_limit.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_set_max_pattern_length.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_set_newline.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_set_offset_limit.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_set_parens_nest_limit.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_set_recursion_limit.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_set_recursion_memory_management.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_set_substitute_callout.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_substitute.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_substring_copy_byname.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_substring_copy_bynumber.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_substring_free.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_substring_get_byname.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_substring_get_bynumber.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_substring_length_byname.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_substring_length_bynumber.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_substring_list_free.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_substring_list_get.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_substring_nametable_scan.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2_substring_number_from_name.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2api.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2build.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2callout.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2compat.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2convert.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2demo.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2grep.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2jit.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2limits.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2matching.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2partial.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2pattern.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2perform.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2posix.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2sample.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2serialize.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2syntax.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2test.html
+#usr/share/doc/pcre-pcre2-10.41/html/pcre2unicode.html
+#usr/share/doc/pcre-pcre2-10.41/pcre2-config.txt
+#usr/share/doc/pcre-pcre2-10.41/pcre2.txt
+#usr/share/doc/pcre-pcre2-10.41/pcre2grep.txt
+#usr/share/doc/pcre-pcre2-10.41/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..0bc6ca2c6 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.41
 
 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 = 4335eae8e8a327c32092a1a9f8214fa86a2d016deb7450938c4ddc38214b72dfa8c6f9c85a03bb36b3686390d378d74fdd991563f92611c42a54915310604559
 
 install : $(TARGET)