Преглед изворни кода

package/log4cxx: bump to version 1.3.1

According to
https://logging.apache.org/log4cxx/1.3.1/changelog.html:

Release 1.3.1 - 2024-11-30
==========================

This is a minor bugfix release to fix issues found with 1.3.0.
Bug

- Properly prevent undefined behaviour when an appender is deleted without being closed [#431]
- Prevent abnormal termination on exit when using a static NDC/MDC variable [#426]
- Support for std::experimental::optional (in the standard library used by gcc 5.4) [#419]

Release 1.3.0 - 2024-10-21
==========================

Release 1.3.0 includes the following new features:

- Overhead reduction of upto 60% sending logging events to an appender
- Statistics on the AsyncAppender's queue length (in Log4cxx debug output)
- Fuzz tests along with Google OSS-Fuzz integration

The following issues have been addressed:

- MSYS2/MINGW build errors [#389]
- thread_local problems in MSYS2/MINGW [#394]
- A potential 'use after free' fault when using AsyncAppender [#397]

Release 1.2.0 - 2024-01-01
==========================

The following issues have been addressed:

- The locale external character encoding option reverting to US-ASCII [LOGCXX-483]
- A segfault during process exit when log4cxx::LogManager::shutdown is not called [#268] [#219]
- The cmake option to include a MultiprocessRollingFileAppender did not work
- Build failure in a MSYS2 environment
- Format settings (e.g. std::hex) were retained across LOG4CXX_XXXXX macro logging requests
- When the APR library was built without support for threads (APR_HAS_THREADS=0):
    the AsyncAppender and dynamically loaded configuration changes were not available
    a single nested/mapped diagnostic context (NDC/MDC) would be used and updated (without synchronization)
- On Windows, GetThreadDescription() called for each logging event when the thread name was empty [#321]

Release 1.2.0 includes the following new features:

- LOG4CXX_XXXX macros now support logging of QStrings directly
- log4cxx::hexdump function that returns a string of hexadecimal byte values
- Ability to remove a HierarchyEventListener [#233]
- Less string copying when sending a logging event to an appender
- Less frequent mutex contention when logging from multiple threads concurrently [#320]
- Allow thread information to be included in JSON formatted output
- Optional support for logging during process termination [#271]
- A cmake option to place Log4cxx functions in a different namespace [#277]
- Optionally use std::format in LOG4CXX_XXXX_FMT macros instead of fmt::format [#291]
- Support for per object enabling/disabling of logging requests (see log4cxx::LoggerInstancePtr)

Note: the LOG4CXX_CHARSET cmake option (external character encoding) default value has changed to utf-8

Within Buildroot, log4cxx has no reverse dependencies, and we tested
building it with gcc 7.x to verify compatibility with reasonably old
compilers.

This new version of log4cxx now needs wchar support, as several
multi-byte functions are now used since upstream commit
2569c6beac983e933574d001ec1601e569355c50 ("Implement a functional
'locale' character encoding (#252)").

A full test-pkg build was performed with this package update:
https://gitlab.com/tpetazzoni/buildroot/-/pipelines/1603576624.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
Thomas Petazzoni пре 7 месеци
родитељ
комит
342fefa6d2
3 измењених фајлова са 6 додато и 5 уклоњено
  1. 3 2
      package/log4cxx/Config.in
  2. 2 2
      package/log4cxx/log4cxx.hash
  3. 1 1
      package/log4cxx/log4cxx.mk

+ 3 - 2
package/log4cxx/Config.in

@@ -4,6 +4,7 @@ config BR2_PACKAGE_LOG4CXX
 	depends on !BR2_STATIC_LIBS
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_TOOLCHAIN_HAS_THREADS
+	depends on BR2_USE_WCHAR # mbsinit
 	depends on BR2_USE_MMU # apr
 	depends on BR2_USE_WCHAR || BR2_TOOLCHAIN_GCC_AT_LEAST_7 # boost
 	depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS || BR2_TOOLCHAIN_GCC_AT_LEAST_7 # boost-thread
@@ -21,9 +22,9 @@ config BR2_PACKAGE_LOG4CXX
 
 	  https://logging.apache.org/log4cxx/
 
-comment "log4cxx needs a toolchain w/ C++, threads, dynamic library"
+comment "log4cxx needs a toolchain w/ C++, threads, dynamic library, wchar"
 	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \
-		BR2_STATIC_LIBS
+		BR2_STATIC_LIBS || !BR2_USE_WCHAR
 	depends on BR2_USE_MMU
 
 comment "log4cxx needs a toolchain w/ wchar or gcc >= 7"

+ 2 - 2
package/log4cxx/log4cxx.hash

@@ -1,4 +1,4 @@
-# From https://www.apache.org/dist/logging/log4cxx/1.1.0/apache-log4cxx-1.1.0.tar.gz.sha512
-sha512  66a66eab933a6afd0779e3f73f65afa4fb82481208b591fd7c7c86ded805f50abcd9cdf954bdb49e1e7f5198e6c1c4fff8a7e180ff5fff9491f1946e9ba6fe2b  apache-log4cxx-1.1.0.tar.gz
+# From https://downloads.apache.org/logging/log4cxx/1.3.1/apache-log4cxx-1.3.1.tar.gz.sha512
+sha512  0956fd034fd1a98d2e48ed461578c1e85da02d176850a580195b6a60b959feaf402a2743cc84ccb5d467dd924ee46422b8a7b39d2be9ee131e4e275e65ba839c  apache-log4cxx-1.3.1.tar.gz
 # Locally computed
 sha256  cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30  LICENSE

+ 1 - 1
package/log4cxx/log4cxx.mk

@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-LOG4CXX_VERSION = 1.1.0
+LOG4CXX_VERSION = 1.3.1
 LOG4CXX_SITE = https://archive.apache.org/dist/logging/log4cxx/$(LOG4CXX_VERSION)
 LOG4CXX_SOURCE = apache-log4cxx-$(LOG4CXX_VERSION).tar.gz
 LOG4CXX_INSTALL_STAGING = YES