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)
 
