diff options
Diffstat (limited to 'meta-oe/recipes-extended/rsyslog')
21 files changed, 596 insertions, 204 deletions
diff --git a/meta-oe/recipes-extended/rsyslog/libfastjson_0.99.4.bb b/meta-oe/recipes-extended/rsyslog/libfastjson_1.2304.0.bb index 2e23d7ec6d..f16126d936 100644 --- a/meta-oe/recipes-extended/rsyslog/libfastjson_0.99.4.bb +++ b/meta-oe/recipes-extended/rsyslog/libfastjson_1.2304.0.bb @@ -6,9 +6,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a958bb07122368f3e1d9b2efe07d231f" DEPENDS = "" -SRC_URI = "git://github.com/rsyslog/libfastjson.git;protocol=https" +SRC_URI = "git://github.com/rsyslog/libfastjson.git;protocol=https;branch=master" -SRCREV = "6e057a094cb225c9d80d8d6e6b1f36ca88a942dd" +SRCREV = "3a8402c1de7c7747c95229db26d8d32fb85a7a52" S = "${WORKDIR}/git" diff --git a/meta-oe/recipes-extended/rsyslog/librelp/0001-Fix-function-inline-errors-in-debug-optimization-Og.patch b/meta-oe/recipes-extended/rsyslog/librelp/0001-Fix-function-inline-errors-in-debug-optimization-Og.patch new file mode 100644 index 0000000000..10e2b564cc --- /dev/null +++ b/meta-oe/recipes-extended/rsyslog/librelp/0001-Fix-function-inline-errors-in-debug-optimization-Og.patch @@ -0,0 +1,34 @@ +From 6d575d98565ce3119a14359eecb11ccdff92a303 Mon Sep 17 00:00:00 2001 +From: Yash Shinde <53660251+Yashinde145@users.noreply.github.com> +Date: Thu, 29 Jun 2023 18:10:15 +0530 +Subject: [PATCH] Fix function inline errors in debug optimization (-Og) + +Compiler does not inline any functions when using debug optimization (-Og). +Hence, remove -Winline flag when compiling with debug optimization. + +Signed-off-by: Nicolas Marguet <nicolas.marguet@windriver.com> +--- +Upstream-Status: Backport [https://github.com/rsyslog/librelp/commit/6d575d9] + + configure.ac | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 21c1fde..1204c4e 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -230,6 +230,12 @@ if test "$enable_debug" = "no"; then + AC_DEFINE(NDEBUG, 1, [Defined if debug mode is disabled.]) + fi + ++#Compiler does not inline any functions when not optimizing(-Og). ++#Hence, remove -Winline flag when DEBUG is enabled. ++#ifdef DEBUG ++WARN_CFLAGS="$(echo "$WARN_CFLAGS" | sed s/-Winline//g)" ++#endif ++ + # valgrind + AC_ARG_ENABLE(valgrind, + [AS_HELP_STRING([--enable-valgrind],[Enable valgrind tests@<:@default=yes@:>@])], +-- +2.39.0 diff --git a/meta-oe/recipes-extended/rsyslog/librelp/0001-relp-fix-build-against-upcoming-gcc-14-Werror-calloc.patch b/meta-oe/recipes-extended/rsyslog/librelp/0001-relp-fix-build-against-upcoming-gcc-14-Werror-calloc.patch new file mode 100644 index 0000000000..cf4f4080a6 --- /dev/null +++ b/meta-oe/recipes-extended/rsyslog/librelp/0001-relp-fix-build-against-upcoming-gcc-14-Werror-calloc.patch @@ -0,0 +1,37 @@ +From baf992f82aa987c608731866876adb856847ea45 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Mon, 6 May 2024 18:03:40 -0700 +Subject: [PATCH] relp: fix build against upcoming `gcc-14` + (`-Werror=calloc-transposed-args`) + +`gcc-14` added a new `-Wcalloc-transposed-args` warning recently. It + detected minor infelicity in `calloc()` API usage + +Fixes +../../git/src/relp.c: In function 'addToEpollSet': +../../git/src/relp.c:101:39: error: 'calloc' sizes specified with 'sizeof' in the earlier argument and not in the later argument [-Werror=calloc-transposed-args] + 101 | CHKmalloc(epd = calloc(sizeof(epolld_t), 1)); + | ^~~~~~~~ + +Upstream-Status: Submitted [https://github.com/rsyslog/librelp/pull/264] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/relp.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/relp.c b/src/relp.c +index eadda36..6268f1d 100644 +--- a/src/relp.c ++++ b/src/relp.c +@@ -98,7 +98,7 @@ addToEpollSet(relpEngine_t *const pThis, epolld_type_t typ, void *ptr, int sock, + epolld_t *epd = NULL; + ENTER_RELPFUNC; + +- CHKmalloc(epd = calloc(sizeof(epolld_t), 1)); ++ CHKmalloc(epd = calloc(1, sizeof(epolld_t))); + epd->typ = typ; + epd->ptr = ptr; + epd->sock = sock; +-- +2.45.0 + diff --git a/meta-oe/recipes-extended/rsyslog/librelp/0001-tcp-fix-some-compiler-warnings-with-enable-tls-opens.patch b/meta-oe/recipes-extended/rsyslog/librelp/0001-tcp-fix-some-compiler-warnings-with-enable-tls-opens.patch new file mode 100644 index 0000000000..3ce5926333 --- /dev/null +++ b/meta-oe/recipes-extended/rsyslog/librelp/0001-tcp-fix-some-compiler-warnings-with-enable-tls-opens.patch @@ -0,0 +1,88 @@ +From 6e9b27f04132287463c89d3be0ce4f506944920d Mon Sep 17 00:00:00 2001 +From: Patrick Williams <patrick@stwcx.xyz> +Date: Fri, 3 Feb 2023 16:11:29 -0600 +Subject: [PATCH] tcp: fix some compiler warnings with enable-tls-openssl + +When --enable-tls=no and --enable-tls-openssl=yes, the following +compiler errors are reported: + +``` +| ../../git/src/tcp.c:3765:1: error: no previous declaration for 'relpTcpGetRtryDirection_gtls' [-Werror=missing-declarations] +| 3765 | relpTcpGetRtryDirection_gtls(LIBRELP_ATTR_UNUSED relpTcp_t *const pThis) +| | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ +| ../../git/src/tcp.c:3583:1: error: 'relpTcpChkPeerName' defined but not used [-Werror=unused-function] +| 3583 | relpTcpChkPeerName(NOTLS_UNUSED relpTcp_t *const pThis, NOTLS_UNUSED void* cert) +| | ^~~~~~~~~~~~~~~~~~ +``` + +Fix these by: + 1. Add static on the openssl path for relpTcpGetRtryDirection_gtls. + 2. Move the relpTcpChkPeerName forward declaration to another ifdef + leg. + 3. Wrap relpTcpChkPeerName in gnutls-based ifdef. + 4. Remove relpTcpChkPeerName_gtls from openssl path. + +Upstream-Status: Backport [https://github.com/rsyslog/librelp/pull/255] +Signed-off-by: Patrick Williams <patrick@stwcx.xyz> +--- + src/tcp.c | 11 ++++------- + 1 file changed, 4 insertions(+), 7 deletions(-) + +diff --git a/src/tcp.c b/src/tcp.c +index 7a75cc4..18cffda 100644 +--- a/src/tcp.c ++++ b/src/tcp.c +@@ -132,12 +132,12 @@ callOnErr(const relpTcp_t *__restrict__ const pThis, + static int LIBRELP_ATTR_NONNULL() relpTcpGetCN(char *const namebuf, const size_t lenNamebuf, const char *const szDN); + #ifdef HAVE_GNUTLS_CERTIFICATE_SET_VERIFY_FUNCTION + static int relpTcpVerifyCertificateCallback(gnutls_session_t session); ++static int relpTcpChkPeerName(relpTcp_t *const pThis, void* cert); + #endif /* #ifdef HAVE_GNUTLS_CERTIFICATE_SET_VERIFY_FUNCTION */ + #if defined(HAVE_GNUTLS_CERTIFICATE_SET_VERIFY_FUNCTION) || defined(ENABLE_TLS_OPENSSL) + static void relpTcpChkOnePeerName(relpTcp_t *const pThis, char *peername, int *pbFoundPositiveMatch); + static int relpTcpAddToCertNamesBuffer(relpTcp_t *const pThis, char *const buf, + const size_t buflen, int *p_currIdx, const char *const certName); +-static int relpTcpChkPeerName(relpTcp_t *const pThis, void* cert); + #endif /* defined(HAVE_GNUTLS_CERTIFICATE_SET_VERIFY_FUNCTION) || defined(ENABLE_TLS_OPENSSL) */ + + +@@ -2820,11 +2820,6 @@ relpTcpLstnInitTLS_gtls(LIBRELP_ATTR_UNUSED relpTcp_t *const pThis) + { + return RELP_RET_ERR_INTERNAL; + } +-static int +-relpTcpChkPeerName_gtls(LIBRELP_ATTR_UNUSED relpTcp_t *const pThis, LIBRELP_ATTR_UNUSED void *vcert) +-{ +- return RELP_RET_ERR_INTERNAL; +-} + #endif /* defined(ENABLE_TLS)*/ + + +@@ -3579,6 +3574,7 @@ finalize_it: + + } + ++#ifdef HAVE_GNUTLS_CERTIFICATE_SET_VERIFY_FUNCTION + static int + relpTcpChkPeerName(NOTLS_UNUSED relpTcp_t *const pThis, NOTLS_UNUSED void* cert) + { +@@ -3592,6 +3588,7 @@ relpTcpChkPeerName(NOTLS_UNUSED relpTcp_t *const pThis, NOTLS_UNUSED void* cert) + #endif /* #ifdef WITH_TLS*/ + LEAVE_RELPFUNC; + } ++#endif + + static relpRetVal LIBRELP_ATTR_NONNULL() + relpTcpAcceptConnReqInitTLS(NOTLS_UNUSED relpTcp_t *const pThis, NOTLS_UNUSED relpSrv_t *const pSrv) +@@ -3761,7 +3758,7 @@ relpTcpGetRtryDirection_gtls(relpTcp_t *const pThis) + return gnutls_record_get_direction(pThis->session); + } + #else /* #ifdef ENABLE_TLS */ +-relpRetVal LIBRELP_ATTR_NONNULL() ++static relpRetVal LIBRELP_ATTR_NONNULL() + relpTcpGetRtryDirection_gtls(LIBRELP_ATTR_UNUSED relpTcp_t *const pThis) + { + return RELP_RET_ERR_INTERNAL; +-- +2.41.0 + diff --git a/meta-oe/recipes-extended/rsyslog/librelp/0001-tests-Fix-callback-prototype.patch b/meta-oe/recipes-extended/rsyslog/librelp/0001-tests-Fix-callback-prototype.patch new file mode 100644 index 0000000000..ba081926e1 --- /dev/null +++ b/meta-oe/recipes-extended/rsyslog/librelp/0001-tests-Fix-callback-prototype.patch @@ -0,0 +1,49 @@ +From 2a7e26510cf9276b7e640ca8282cc1c5e46075d0 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 15 Aug 2023 11:59:40 -0700 +Subject: [PATCH] tests: Fix callback prototype + +clang errors about it + +| ../../git/tests/receive.c:71:34: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] +| 71 | hdlr_enable(int sig, void (*hdlr)()) +| | ^ +| | void +| 1 error generated. + +Upstream-Status: Submitted [https://github.com/rsyslog/librelp/pull/260] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + tests/receive.c | 2 +- + tests/send.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/tests/receive.c b/tests/receive.c +index f376cb4..c12e911 100644 +--- a/tests/receive.c ++++ b/tests/receive.c +@@ -68,7 +68,7 @@ doSleep(int iSeconds, const int iuSeconds) + } + + static void +-hdlr_enable(int sig, void (*hdlr)()) ++hdlr_enable(int sig, void (*hdlr)(const int)) + { + struct sigaction sigAct; + memset(&sigAct, 0, sizeof (sigAct)); +diff --git a/tests/send.c b/tests/send.c +index d7e90f0..1b1df4f 100644 +--- a/tests/send.c ++++ b/tests/send.c +@@ -57,7 +57,7 @@ struct usrdata { /* used for testing user pointer pass-back */ + struct usrdata *userdata = NULL; + + static void +-hdlr_enable(int sig, void (*hdlr)()) ++hdlr_enable(int sig, void (*hdlr)(const int)) + { + struct sigaction sigAct; + memset(&sigAct, 0, sizeof (sigAct)); +-- +2.41.0 + diff --git a/meta-oe/recipes-extended/rsyslog/librelp/0001-tests-Include-missing-sys-time.h.patch b/meta-oe/recipes-extended/rsyslog/librelp/0001-tests-Include-missing-sys-time.h.patch new file mode 100644 index 0000000000..6fed23c1d1 --- /dev/null +++ b/meta-oe/recipes-extended/rsyslog/librelp/0001-tests-Include-missing-sys-time.h.patch @@ -0,0 +1,41 @@ +From 5c32487a9c127f37141488d416cdb5d5bec6aca1 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sat, 19 Aug 2023 10:24:40 -0700 +Subject: [PATCH] tests: Include missing sys/time.h + +This is found when building for musl C library systems where sys/time.h +is not included indirectly and select() and timeval structs are used + +Fixes + +../../git/tests/receive.c:64:17: error: variable has incomplete type 'struct timeval' + 64 | struct timeval tvSelectTimeout; + | ^ +../../git/tests/receive.c:64:9: note: forward declaration of 'struct timeval' + 64 | struct timeval tvSelectTimeout; + | ^ +../../git/tests/receive.c:67:2: error: call to undeclared function 'select'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] + 67 | select(0, NULL, NULL, NULL, &tvSelectTimeout); + | ^ + +Upstream-Status: Submitted [https://github.com/rsyslog/librelp/pull/261] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + tests/receive.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/tests/receive.c b/tests/receive.c +index f376cb4..e20861e 100644 +--- a/tests/receive.c ++++ b/tests/receive.c +@@ -33,6 +33,7 @@ + #include <limits.h> + #include <errno.h> + #include <signal.h> ++#include <sys/time.h> + #include "librelp.h" + + #define TRY(f) { const int TRY_r = f; if(TRY_r != RELP_RET_OK) { \ +-- +2.41.0 + diff --git a/meta-oe/recipes-extended/rsyslog/librelp/run-ptest b/meta-oe/recipes-extended/rsyslog/librelp/run-ptest new file mode 100644 index 0000000000..a649a5716f --- /dev/null +++ b/meta-oe/recipes-extended/rsyslog/librelp/run-ptest @@ -0,0 +1,10 @@ +#!/bin/sh +# +set -e +set -o pipefail + +SCRIPTPATH="$( cd "$(dirname "$0")" ; pwd -P )" +cd ${SCRIPTPATH} +useradd tester || echo "user already exists" +su tester -c "make -C tests -k check-TESTS" +userdel tester diff --git a/meta-oe/recipes-extended/rsyslog/librelp_1.11.0.bb b/meta-oe/recipes-extended/rsyslog/librelp_1.11.0.bb new file mode 100644 index 0000000000..49847047ac --- /dev/null +++ b/meta-oe/recipes-extended/rsyslog/librelp_1.11.0.bb @@ -0,0 +1,87 @@ +SUMMARY = "A reliable logging library" +HOMEPAGE = "https://github.com/rsyslog/librelp" + +LICENSE = "GPL-3.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=1fb9c10ed9fd6826757615455ca893a9" + +DEPENDS = "gmp libidn zlib" + +SRC_URI = "git://github.com/rsyslog/librelp.git;protocol=https;branch=stable \ + file://0001-Fix-function-inline-errors-in-debug-optimization-Og.patch \ + file://0001-tests-Fix-callback-prototype.patch \ + file://0001-tcp-fix-some-compiler-warnings-with-enable-tls-opens.patch \ + file://0001-tests-Include-missing-sys-time.h.patch \ + file://0001-relp-fix-build-against-upcoming-gcc-14-Werror-calloc.patch \ + file://run-ptest \ +" + +SRCREV = "b421f56d9ee31a966058d23bd23c966221c91396" + +S = "${WORKDIR}/git" + +inherit autotools pkgconfig ptest + +PACKAGECONFIG ?= "tls-openssl valgrind" +# Valgrind is not available for RISCV yet +PACKAGECONFIG:remove:riscv64 = "valgrind" +PACKAGECONFIG:remove:riscv32 = "valgrind" + +PACKAGECONFIG[tls] = "--enable-tls,--disable-tls,gnutls nettle" +PACKAGECONFIG[tls-openssl] = "--enable-tls-openssl,--disable-tls-openssl,openssl" +PACKAGECONFIG[valgrind] = "--enable-valgrind,--disable-valgrind," + +# For ptests, copy source tests/*.sh scripts, Makefile and +# executables and run them with make on target. +TESTDIR = "tests" +do_compile_ptest() { + echo 'buildtest-TESTS: $(check_PROGRAMS)' >> ${TESTDIR}/Makefile + oe_runmake -C ${TESTDIR} buildtest-TESTS +} + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/${TESTDIR} + + # copy source tests/*.sh and python scripts + cp -f ${S}/${TESTDIR}/*.sh ${S}/${TESTDIR}/*.py ${D}${PTEST_PATH}/${TESTDIR} + # install data files needed by the test scripts on the target + cp -f ${S}/${TESTDIR}/*.supp ${D}${PTEST_PATH}/${TESTDIR} + cp -rf ${S}/${TESTDIR}/tls-certs ${D}${PTEST_PATH}/${TESTDIR} + + # copy executables + find ${B}/${TESTDIR} -type f -executable -exec cp {} ${D}${PTEST_PATH}/${TESTDIR} \; + cp -rf ${B}/${TESTDIR}/.libs ${D}${PTEST_PATH}/${TESTDIR} + # copy Makefile + # run-ptest will run make which runs the executables + cp -f ${B}/${TESTDIR}/Makefile ${D}${PTEST_PATH}/${TESTDIR} + cp -f ${B}/${TESTDIR}/set-envvars ${D}${PTEST_PATH}/${TESTDIR} + + # give permissions to all users + # some tests need to write to this directory + chmod 777 -R ${D}${PTEST_PATH}/${TESTDIR} + + # do NOT need to rebuild Makefile or $(check_PROGRAMS) + sed -i 's/^Makefile:.*$/Makefile:/' ${D}${PTEST_PATH}/${TESTDIR}/Makefile + sed -i 's/^check-TESTS:.*$/check-TESTS:/' ${D}${PTEST_PATH}/${TESTDIR}/Makefile + + # fix the srcdir, top_srcdir, abs_top_builddir + sed -i 's,^\(srcdir = \).*,\1${PTEST_PATH}/${TESTDIR},' ${D}${PTEST_PATH}/${TESTDIR}/Makefile + sed -i 's,^\(top_srcdir = \).*,\1${PTEST_PATH}/${TESTDIR},' ${D}${PTEST_PATH}/${TESTDIR}/Makefile + sed -i 's,^\(abs_top_builddir = \).*,\1${PTEST_PATH}/,' ${D}${PTEST_PATH}/${TESTDIR}/Makefile + + # install test-driver + install -m 644 ${S}/test-driver ${D}${PTEST_PATH} + + # fix the python3 path for tests/set-envar + sed -i -e s:${HOSTTOOLS_DIR}:${bindir}:g ${D}${PTEST_PATH}/${TESTDIR}/set-envvars + + # these 2 scripts need help finding their /usr/lib/librelp/ptest/tests/.libs libraries + sed -i 's:${B}/src:${PTEST_PATH}/${TESTDIR}:' ${D}${PTEST_PATH}/${TESTDIR}/send + sed -i 's:${B}/src:${PTEST_PATH}/${TESTDIR}:' ${D}${PTEST_PATH}/${TESTDIR}/receive +} + +RDEPENDS:${PN}-ptest += "\ + make bash coreutils libgcc util-linux gawk grep \ + python3-core python3-io \ +" +RRECOMMENDS:${PN}-ptest += "${@bb.utils.filter('PACKAGECONFIG', 'valgrind', d)}" + diff --git a/meta-oe/recipes-extended/rsyslog/librelp_1.2.14.bb b/meta-oe/recipes-extended/rsyslog/librelp_1.2.14.bb deleted file mode 100644 index 28047eb542..0000000000 --- a/meta-oe/recipes-extended/rsyslog/librelp_1.2.14.bb +++ /dev/null @@ -1,15 +0,0 @@ -SUMMARY = "A reliable logging library" -HOMEPAGE = "https://github.com/rsyslog/libfastjson" - -LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://COPYING;md5=1fb9c10ed9fd6826757615455ca893a9" - -DEPENDS = "gmp nettle libidn zlib gnutls" - -SRC_URI = "git://github.com/rsyslog/librelp.git;protocol=https" - -SRCREV = "fc512e337bfc7c92770246dbff5f482b879498b9" - -S = "${WORKDIR}/git" - -inherit autotools pkgconfig diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog/0001-Include-sys-time-h.patch b/meta-oe/recipes-extended/rsyslog/rsyslog/0001-Include-sys-time-h.patch index 23c0f258f8..6ce8b7a9c8 100644 --- a/meta-oe/recipes-extended/rsyslog/rsyslog/0001-Include-sys-time-h.patch +++ b/meta-oe/recipes-extended/rsyslog/rsyslog/0001-Include-sys-time-h.patch @@ -1,6 +1,6 @@ -From 3c3c21f4735eb215206273bc714c57c969926d3d Mon Sep 17 00:00:00 2001 +From 7baf35b88d742032a2dc456c396843e17e866f8e Mon Sep 17 00:00:00 2001 From: Ming Liu <peter.x.liu@external.atlascopco.com> -Date: Sun, 26 Feb 2017 14:10:21 +0100 +Date: Wed, 27 Jun 2018 14:04:57 +0800 Subject: [PATCH] Include sys/time.h struct timeval is defined in sys/time.h with a musl libc. @@ -8,12 +8,13 @@ struct timeval is defined in sys/time.h with a musl libc. Upstream-Status: Inappropriate [musl libc specific] Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com> +Signed-off-by: Changqing Li <changqing.li@windriver.com> --- tests/msleep.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/tests/msleep.c b/tests/msleep.c -index 26a8206..ca818be 100644 +index 98dbece..96f6950 100644 --- a/tests/msleep.c +++ b/tests/msleep.c @@ -26,11 +26,7 @@ @@ -25,9 +26,7 @@ index 26a8206..ca818be 100644 -#else -#include <time.h> -#endif - - int main(int argc, char *argv[]) - { --- -1.9.1 - + #if defined(HAVE_SYS_SELECT_H) + #include <sys/select.h> + #endif +2.7.4 diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog/0001-Undefine-GLOB_BRACE.patch b/meta-oe/recipes-extended/rsyslog/rsyslog/0001-Undefine-GLOB_BRACE.patch deleted file mode 100644 index 7903bb1ccf..0000000000 --- a/meta-oe/recipes-extended/rsyslog/rsyslog/0001-Undefine-GLOB_BRACE.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 6746e3a9615d1566bf228e9012d0841b15178810 Mon Sep 17 00:00:00 2001 -From: Ming Liu <liu.ming50@gmail.com> -Date: Sun, 26 Feb 2017 13:50:33 +0100 -Subject: [PATCH] Undefine GLOB_BRACE - -GLOB_BRACE is not defined in posix and thus not implemented in musl libc. - -Fixed by defining it to 0 if it is undefined. - -Upstream-Status: Inappropriate [musl libc specific] - -Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com> ---- - plugins/imfile/imfile.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/plugins/imfile/imfile.c b/plugins/imfile/imfile.c -index d20471f..f9aff81 100644 ---- a/plugins/imfile/imfile.c -+++ b/plugins/imfile/imfile.c -@@ -85,6 +85,11 @@ static int bLegacyCnfModGlobalsPermitted;/* are legacy module-global config para - - #define ADD_METADATA_UNSPECIFIED -1 - -+/* fixes build with musl libc */ -+#ifndef GLOB_BRACE -+#define GLOB_BRACE 0 -+#endif -+ - /* this structure is used in pure polling mode as well one of the support - * structures for inotify. - */ --- -1.9.1 - diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog/0001-tests-disable-the-check-for-inotify.patch b/meta-oe/recipes-extended/rsyslog/rsyslog/0001-tests-disable-the-check-for-inotify.patch new file mode 100644 index 0000000000..c1480406fe --- /dev/null +++ b/meta-oe/recipes-extended/rsyslog/rsyslog/0001-tests-disable-the-check-for-inotify.patch @@ -0,0 +1,46 @@ +From 194e199ce08acc2192f6a63420ff24d9064666e5 Mon Sep 17 00:00:00 2001 +From: Yi Fan Yu <yifan.yu@windriver.com> +Date: Sat, 27 Mar 2021 19:18:25 -0400 +Subject: [PATCH] tests: disable the check for inotify + +We don't need to check inotify.h. +Assume it is present since it is part of the linux kernel +since 2.6.13 [1]. + +[1](https://kernelnewbies.org/Linux_2_6_13) + +(it would require installing the libc headers otherwise, + for the test to detect /usr/include/sys/inotify.h.) + +Upstream-Status: Inappropriate [OE-specific] + +Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com> +--- + tests/diag.sh | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/tests/diag.sh b/tests/diag.sh +index 6cd60ea88..7424f48c5 100755 +--- a/tests/diag.sh ++++ b/tests/diag.sh +@@ -2672,7 +2672,7 @@ case $1 in + fi + ;; + 'check-inotify') # Check for inotify/fen support +- if [ -n "$(find /usr/include -name 'inotify.h' -print -quit)" ]; then ++ if true; then + echo [inotify mode] + elif [ -n "$(find /usr/include/sys/ -name 'port.h' -print -quit)" ]; then + grep -qF "PORT_SOURCE_FILE" < /usr/include/sys/port.h +@@ -2687,7 +2687,7 @@ case $1 in + fi + ;; + 'check-inotify-only') # Check for ONLY inotify support +- if [ -n "$(find /usr/include -name 'inotify.h' -print -quit)" ]; then ++ if true; then + echo [inotify mode] + else + echo [inotify not supported, skipping...] +-- +2.29.2 + diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog/0001-tests-tcpflood.c-Pass-correct-parameter-type-to-send.patch b/meta-oe/recipes-extended/rsyslog/rsyslog/0001-tests-tcpflood.c-Pass-correct-parameter-type-to-send.patch new file mode 100644 index 0000000000..5df29e7d90 --- /dev/null +++ b/meta-oe/recipes-extended/rsyslog/rsyslog/0001-tests-tcpflood.c-Pass-correct-parameter-type-to-send.patch @@ -0,0 +1,35 @@ +From 1e0a77d8a5ae7cd0223afadf46cdbb540119774d Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sat, 11 May 2024 23:31:46 -0700 +Subject: [PATCH] tests/tcpflood.c: Pass correct parameter type to sendto() + +Fixes build with GCC-14 and musl + +../../rsyslog-8.2404.0/tests/tcpflood.c:811:70: error: passing argument 5 of 'sendto' from incompatible pointer type [-Wincompatible-pointer-types] + 811 | lenSend = sendto(udpsockout, buf, lenBuf, 0, &udpRcvr, sizeof(udpRcvr)); + | ^~~~~~~~ + | | + | struct sockaddr_in * + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + tests/tcpflood.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tests/tcpflood.c b/tests/tcpflood.c +index bd8edaf..0feda23 100644 +--- a/tests/tcpflood.c ++++ b/tests/tcpflood.c +@@ -808,7 +808,7 @@ int sendMessages(struct instdata *inst) + } + lenSend = sendPlainTCP(socknum, buf, lenBuf, &error_number); + } else if(transport == TP_UDP) { +- lenSend = sendto(udpsockout, buf, lenBuf, 0, &udpRcvr, sizeof(udpRcvr)); ++ lenSend = sendto(udpsockout, buf, lenBuf, 0, (const struct sockaddr *)&udpRcvr, sizeof(udpRcvr)); + error_number = errno; + } else if(transport == TP_TLS) { + if(sockArray[socknum] == -1) { +-- +2.45.0 + diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog/disable-omfile-outchannel.patch b/meta-oe/recipes-extended/rsyslog/rsyslog/disable-omfile-outchannel.patch new file mode 100644 index 0000000000..a8bbe2b51e --- /dev/null +++ b/meta-oe/recipes-extended/rsyslog/rsyslog/disable-omfile-outchannel.patch @@ -0,0 +1,23 @@ +tests: Skip omfile-outchannel test as it fails on musl + +scanf error in index i=5559 +sequence error detected in rstb_168227_f19f3b245QVE.out.log +number of lines in file: 5559 rstb_168227_f19f3b245QVE.out.log + +Patch is also applied in void linux + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +--- a/tests/omfile-outchannel.sh 2021-03-09 05:51:07.000000000 -0600 ++++ b/tests/omfile-outchannel.sh 2022-05-26 15:55:23.358520256 -0500 +@@ -1,5 +1,9 @@ + #!/bin/bash + # addd 2018-08-02 by RGerhards, released under ASL 2.0 ++ ++# This test fails for x86_64-musl, under GitHub's CI/CD. Disable for now. ++exit 77 ++ + . ${srcdir:=.}/diag.sh init + export NUMMESSAGES=10000 + echo "ls -l $RSYSLOG_DYNNAME* diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog-fix-ptest-not-finish.patch b/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog-fix-ptest-not-finish.patch deleted file mode 100644 index bdcb6e22a3..0000000000 --- a/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog-fix-ptest-not-finish.patch +++ /dev/null @@ -1,96 +0,0 @@ -$MaxMessageSize doesn't work if before $IncludeConfig diag-common.conf, then -test cases fall into infinite loop with error message: - -8062.511110729:4902c480: error: message received is larger than max msg size, we split it -8062.511152265:4902c480: discarding zero-sized message - -Update configure to fix it. - -Upstream-Status: pending - -Kai Kang <kai.kang@windriver.com> ---- -diff -Nru rsyslog-7.4.4/tests/testsuites/complex1.conf rsyslog-7.4.4.new/tests/testsuites/complex1.conf ---- rsyslog-7.4.4/tests/testsuites/complex1.conf 2013-08-31 00:30:41.000000000 +0800 -+++ rsyslog-7.4.4.new/tests/testsuites/complex1.conf 2013-12-18 14:28:10.644004184 +0800 -@@ -1,7 +1,7 @@ - # complex test case with multiple actions in gzip mode - # rgerhards, 2009-05-22 --$MaxMessageSize 10k - $IncludeConfig diag-common.conf -+$MaxMessageSize 10k - - $MainMsgQueueTimeoutEnqueue 5000 - -diff -Nru rsyslog-7.4.4/tests/testsuites/gzipwr_large.conf rsyslog-7.4.4.new/tests/testsuites/gzipwr_large.conf ---- rsyslog-7.4.4/tests/testsuites/gzipwr_large.conf 2012-04-04 14:29:55.000000000 +0800 -+++ rsyslog-7.4.4.new/tests/testsuites/gzipwr_large.conf 2013-12-18 14:28:10.645004186 +0800 -@@ -1,7 +1,7 @@ - # simple async writing test - # rgerhards, 2010-03-09 --$MaxMessageSize 10k - $IncludeConfig diag-common.conf -+$MaxMessageSize 10k - - $ModLoad ../plugins/imtcp/.libs/imtcp - $MainMsgQueueTimeoutShutdown 10000 -diff -Nru rsyslog-7.4.4/tests/testsuites/gzipwr_large_dynfile.conf rsyslog-7.4.4.new/tests/testsuites/gzipwr_large_dynfile.conf ---- rsyslog-7.4.4/tests/testsuites/gzipwr_large_dynfile.conf 2012-04-04 14:29:55.000000000 +0800 -+++ rsyslog-7.4.4.new/tests/testsuites/gzipwr_large_dynfile.conf 2013-12-18 14:28:10.645004186 +0800 -@@ -1,7 +1,7 @@ - # simple async writing test - # rgerhards, 2010-03-09 --$MaxMessageSize 10k - $IncludeConfig diag-common.conf -+$MaxMessageSize 10k - - $ModLoad ../plugins/imtcp/.libs/imtcp - $MainMsgQueueTimeoutShutdown 10000 -diff -Nru rsyslog-7.4.4/tests/testsuites/imptcp_conndrop.conf rsyslog-7.4.4.new/tests/testsuites/imptcp_conndrop.conf ---- rsyslog-7.4.4/tests/testsuites/imptcp_conndrop.conf 2013-08-31 00:30:41.000000000 +0800 -+++ rsyslog-7.4.4.new/tests/testsuites/imptcp_conndrop.conf 2013-12-18 14:28:10.646004189 +0800 -@@ -1,7 +1,7 @@ - # simple async writing test - # rgerhards, 2010-03-09 --$MaxMessageSize 10k - $IncludeConfig diag-common.conf -+$MaxMessageSize 10k - - $ModLoad ../plugins/imptcp/.libs/imptcp - $MainMsgQueueTimeoutShutdown 10000 -diff -Nru rsyslog-7.4.4/tests/testsuites/imptcp_large.conf rsyslog-7.4.4.new/tests/testsuites/imptcp_large.conf ---- rsyslog-7.4.4/tests/testsuites/imptcp_large.conf 2013-08-31 00:30:41.000000000 +0800 -+++ rsyslog-7.4.4.new/tests/testsuites/imptcp_large.conf 2013-12-18 14:28:10.646004189 +0800 -@@ -1,7 +1,7 @@ - # simple async writing test - # rgerhards, 2010-03-09 --$MaxMessageSize 10k - $IncludeConfig diag-common.conf -+$MaxMessageSize 10k - - $ModLoad ../plugins/imptcp/.libs/imptcp - $MainMsgQueueTimeoutShutdown 10000 -diff -Nru rsyslog-7.4.4/tests/testsuites/imtcp_conndrop.conf rsyslog-7.4.4.new/tests/testsuites/imtcp_conndrop.conf ---- rsyslog-7.4.4/tests/testsuites/imtcp_conndrop.conf 2013-07-19 20:59:03.000000000 +0800 -+++ rsyslog-7.4.4.new/tests/testsuites/imtcp_conndrop.conf 2013-12-18 14:28:10.646004189 +0800 -@@ -1,7 +1,7 @@ - # simple async writing test - # rgerhards, 2010-03-09 --$MaxMessageSize 10k - $IncludeConfig diag-common.conf -+$MaxMessageSize 10k - - $ModLoad ../plugins/imtcp/.libs/imtcp - $MainMsgQueueTimeoutShutdown 10000 -diff -Nru rsyslog-7.4.4/tests/testsuites/wr_large.conf rsyslog-7.4.4.new/tests/testsuites/wr_large.conf ---- rsyslog-7.4.4/tests/testsuites/wr_large.conf 2012-04-04 14:29:55.000000000 +0800 -+++ rsyslog-7.4.4.new/tests/testsuites/wr_large.conf 2013-12-18 14:28:10.647004190 +0800 -@@ -1,7 +1,7 @@ - # simple async writing test - # rgerhards, 2010-03-09 --$MaxMessageSize 10k - $IncludeConfig diag-common.conf -+$MaxMessageSize 10k - - $ModLoad ../plugins/imtcp/.libs/imtcp - $MainMsgQueueTimeoutShutdown 10000 diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog.conf b/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog.conf index 324ae6d82a..dbfefb7597 100644 --- a/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog.conf +++ b/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog.conf @@ -84,3 +84,8 @@ $ActionQueueMaxDiskSpace 10m # 1gb space limit (use as much as possible) # UDP Syslog Server: #$ModLoad imudp.so # provides UDP syslog reception #$UDPServerRun 514 # start a UDP syslog server at standard port 514 + +# +# Include all config files in /etc/rsyslog.d/ +# +$IncludeConfig /etc/rsyslog.d/*.conf diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog.logrotate b/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog.logrotate index 94ec517b21..5f8568fce6 100644 --- a/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog.logrotate +++ b/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog.logrotate @@ -9,7 +9,7 @@ delaycompress compress postrotate - /bin/kill -HUP `cat /var/run/rsyslogd.pid 2> /dev/null` 2> /dev/null || true + @BINDIR@/pkill -HUP rsyslogd 2> /dev/null || true endscript } @@ -34,6 +34,6 @@ delaycompress sharedscripts postrotate - /bin/kill -HUP `cat /var/run/rsyslogd.pid 2> /dev/null` 2> /dev/null || true + @BINDIR@/pkill -HUP rsyslogd 2> /dev/null || true endscript } diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog.service b/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog.service new file mode 100644 index 0000000000..0aacff32d5 --- /dev/null +++ b/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog.service @@ -0,0 +1,21 @@ +[Unit] +Description=System Logging Service +Requires=syslog.socket +Wants=network.target network-online.target +After=network.target network-online.target +Documentation=man:rsyslogd(8) +Documentation=http://www.rsyslog.com/doc/ + +[Service] +Type=notify +ExecStart=@sbindir@/rsyslogd -n -iNONE +StandardOutput=null +Restart=on-failure + +# Increase the default a bit in order to allow many simultaneous +# files to be monitored, we might need a lot of fds. +LimitNOFILE=16384 + +[Install] +WantedBy=multi-user.target +Alias=syslog.service diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog/run-ptest b/meta-oe/recipes-extended/rsyslog/rsyslog/run-ptest index 3770a75065..efa9ba3ed0 100644 --- a/meta-oe/recipes-extended/rsyslog/rsyslog/run-ptest +++ b/meta-oe/recipes-extended/rsyslog/rsyslog/run-ptest @@ -1,3 +1,12 @@ #!/bin/sh # -make -C tests -k check-TESTS +set -e +set -o pipefail + +SCRIPTPATH="$( cd "$(dirname "$0")" ; pwd -P )" +cd ${SCRIPTPATH} +useradd tester || echo "user already exists" +ln -sf /usr/sbin/logrotate /usr/bin/logrotate +su tester -c "make -C tests -k check-TESTS" +userdel tester +rm -f /usr/bin/logrotate diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog/use-pkgconfig-to-check-libgcrypt.patch b/meta-oe/recipes-extended/rsyslog/rsyslog/use-pkgconfig-to-check-libgcrypt.patch index 46eddd604b..0352587268 100644 --- a/meta-oe/recipes-extended/rsyslog/rsyslog/use-pkgconfig-to-check-libgcrypt.patch +++ b/meta-oe/recipes-extended/rsyslog/rsyslog/use-pkgconfig-to-check-libgcrypt.patch @@ -1,24 +1,25 @@ -From 5c3ba79177f7d1763db33c4358af2af60ff214b7 Mon Sep 17 00:00:00 2001 -From: Roy Li <rongqing.li@windriver.com> +From d0852006bf3d305e8984b85b41997d43d4476937 Mon Sep 17 00:00:00 2001 +From: Roy Li <rongqing.li@windriver.com> Date: Wed, 18 Jun 2014 13:46:52 +0800 Subject: [PATCH] use pkgconfig to check libgcrypt -Upstream-status: Inappropriate [configuration] +Upstream-Status: Inappropriate [configuration] libgcrypt does no longer provide libgcrypt-config, and provide *.pc, so we should use pkgconfig to check Signed-off-by: Roy Li <rongqing.li@windriver.com> Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com> + --- configure.ac | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/configure.ac b/configure.ac -index 0f31869..d35db42 100644 +index 62178c3..b56c9c7 100644 --- a/configure.ac +++ b/configure.ac -@@ -777,20 +777,7 @@ AC_ARG_ENABLE(libgcrypt, +@@ -889,20 +889,7 @@ AC_ARG_ENABLE(libgcrypt, [enable_libgcrypt=yes] ) if test "x$enable_libgcrypt" = "xyes"; then @@ -40,6 +41,3 @@ index 0f31869..d35db42 100644 fi AM_CONDITIONAL(ENABLE_LIBGCRYPT, test x$enable_libgcrypt = xyes) AC_SUBST(LIBGCRYPT_CFLAGS) --- -2.8.1 - diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog_8.29.0.bb b/meta-oe/recipes-extended/rsyslog/rsyslog_8.2404.0.bb index 7056e1c6ad..ac1645f671 100644 --- a/meta-oe/recipes-extended/rsyslog/rsyslog_8.29.0.bb +++ b/meta-oe/recipes-extended/rsyslog/rsyslog_8.2404.0.bb @@ -11,37 +11,44 @@ Rsyslog is an enhanced syslogd supporting, among others, MySQL,\ DEPENDS = "zlib libestr libfastjson bison-native flex-native liblogging" HOMEPAGE = "http://www.rsyslog.com/" -LICENSE = "GPLv3 & LGPLv3 & Apache-2.0" +LICENSE = "GPL-3.0-only & LGPL-3.0-only & Apache-2.0" LIC_FILES_CHKSUM = "file://COPYING;md5=51d9635e646fb75e1b74c074f788e973 \ file://COPYING.LESSER;md5=cb7903f1e5c39ae838209e130dca270a \ file://COPYING.ASL20;md5=052f8a09206615ab07326ff8ce2d9d32\ " -SRC_URI = "http://www.rsyslog.com/download/files/download/rsyslog/${BPN}-${PV}.tar.gz \ +SRC_URI = "https://www.rsyslog.com/files/download/rsyslog/${BPN}-${PV}.tar.gz \ file://initscript \ file://rsyslog.conf \ file://rsyslog.logrotate \ + file://rsyslog.service \ file://use-pkgconfig-to-check-libgcrypt.patch \ file://run-ptest \ - file://rsyslog-fix-ptest-not-finish.patch \ + file://0001-tests-disable-the-check-for-inotify.patch \ + file://0001-tests-tcpflood.c-Pass-correct-parameter-type-to-send.patch \ " -SRC_URI_append_libc-musl = " \ - file://0001-Undefine-GLOB_BRACE.patch \ +SRC_URI:append:libc-musl = " \ file://0001-Include-sys-time-h.patch \ + file://disable-omfile-outchannel.patch \ " +SRC_URI[sha256sum] = "30528d140ec1b1f079224081fa37df6e06587ff42b02e3e61f2daa0526c54d33" -SRC_URI[md5sum] = "3805617f65a4b4bea34606487a5255a0" -SRC_URI[sha256sum] = "220ba30b5afb0f3ddb328613fea7aa3966b01e4d0c52d6de9ab27b0858f19738" +UPSTREAM_CHECK_URI = "https://github.com/rsyslog/rsyslog/releases" +UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)" inherit autotools pkgconfig systemd update-rc.d ptest EXTRA_OECONF += "--disable-generate-man-pages ap_cv_atomic_builtins=yes" +EXTRA_OECONF += "--enable-imfile-tests" +EXTRA_OECONF:remove:mipsarch = "ap_cv_atomic_builtins=yes" +EXTRA_OECONF:remove:powerpc = "ap_cv_atomic_builtins=yes" +EXTRA_OECONF:remove:riscv32 = "ap_cv_atomic_builtins=yes" # first line is default yes in configure PACKAGECONFIG ??= " \ - rsyslogd rsyslogrt klog inet regexp uuid libgcrypt \ - imdiag gnutls imfile \ + rsyslogd rsyslogrt klog inet regexp uuid libcap-ng libgcrypt \ + fmhttp imdiag openssl imfile \ ${@bb.utils.filter('DISTRO_FEATURES', 'snmp systemd', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'testbench relp ${VALGRIND}', '', d)} \ " @@ -50,8 +57,10 @@ PACKAGECONFIG ??= " \ PACKAGECONFIG[relp] = "--enable-relp,--disable-relp,librelp," PACKAGECONFIG[rsyslogd] = "--enable-rsyslogd,--disable-rsyslogd,," PACKAGECONFIG[rsyslogrt] = "--enable-rsyslogrt,--disable-rsyslogrt,," +PACKAGECONFIG[fmhttp] = "--enable-fmhttp,--disable-fmhttp,curl," PACKAGECONFIG[inet] = "--enable-inet,--disable-inet,," PACKAGECONFIG[klog] = "--enable-klog,--disable-klog,," +PACKAGECONFIG[libcap-ng] = "--enable-libcap-ng,--disable-libcap-ng,libcap-ng," PACKAGECONFIG[regexp] = "--enable-regexp,--disable-regexp,," PACKAGECONFIG[uuid] = "--enable-uuid,--disable-uuid,util-linux," PACKAGECONFIG[libgcrypt] = "--enable-libgcrypt,--disable-libgcrypt,libgcrypt," @@ -63,12 +72,17 @@ PACKAGECONFIG[imdiag] = "--enable-imdiag,--disable-imdiag,," PACKAGECONFIG[imfile] = "--enable-imfile,--disable-imfile,," PACKAGECONFIG[snmp] = "--enable-snmp,--disable-snmp,net-snmp," PACKAGECONFIG[gnutls] = "--enable-gnutls,--disable-gnutls,gnutls," -PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,--without-systemdsystemunitdir,systemd," +PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl," +PACKAGECONFIG[systemd] = "--enable-libsystemd,--disable-libsystemd,systemd," +PACKAGECONFIG[imjournal] = "--enable-imjournal,--disable-imjournal," +PACKAGECONFIG[mmjsonparse] = "--enable-mmjsonparse,--disable-mmjsonparse," PACKAGECONFIG[mysql] = "--enable-mysql,--disable-mysql,mysql5," PACKAGECONFIG[postgresql] = "--enable-pgsql,--disable-pgsql,postgresql," PACKAGECONFIG[libdbi] = "--enable-libdbi,--disable-libdbi,libdbi," PACKAGECONFIG[mail] = "--enable-mail,--disable-mail,," -PACKAGECONFIG[valgrind] = "--enable-valgrind,--disable-valgrind,valgrind," +PACKAGECONFIG[valgrind] = ",--without-valgrind-testbench,valgrind," +PACKAGECONFIG[imhttp] = "--enable-imhttp,--disable-imhttp,civetweb," + TESTDIR = "tests" do_compile_ptest() { @@ -81,18 +95,20 @@ do_install_ptest() { cp -rf ${S}/${TESTDIR} ${D}${PTEST_PATH} cp -rf ${B}/${TESTDIR} ${D}${PTEST_PATH} + # give permissions to all users + # some tests need to write to this directory as user 'daemon' + chmod 777 -R ${D}${PTEST_PATH}/tests + # do NOT need to rebuild Makefile itself sed -i 's/^Makefile:.*$/Makefile:/' ${D}${PTEST_PATH}/${TESTDIR}/Makefile + # do NOT need to rebuild $(check_PROGRAMS) + sed -i 's/^check-TESTS:.*$/check-TESTS:/' ${D}${PTEST_PATH}/${TESTDIR}/Makefile # fix the srcdir, top_srcdir sed -i 's,^\(srcdir = \).*,\1${PTEST_PATH}/tests,' ${D}${PTEST_PATH}/${TESTDIR}/Makefile sed -i 's,^\(top_srcdir = \).*,\1${PTEST_PATH}/tests,' ${D}${PTEST_PATH}/${TESTDIR}/Makefile - - # valgrind is not compatible with arm and mips, - # so remove related test cases if there is no valgrind. - if [ x${VALGRIND} = x ]; then - sed -i '/udp-msgreduc-/d' ${D}${PTEST_PATH}/${TESTDIR}/Makefile - fi + # fix the abs_top_builddir + sed -i 's,^\(abs_top_builddir = \).*,\1${PTEST_PATH}/,' ${D}${PTEST_PATH}/${TESTDIR}/Makefile # install test-driver install -m 644 ${S}/test-driver ${D}${PTEST_PATH} @@ -114,38 +130,78 @@ do_install_ptest() { # fix the module load path with runtime/.libs find ${D}${PTEST_PATH}/${TESTDIR} -name "*.conf" -o -name "*.sh" -o -name "*.c" | xargs \ sed -i -e 's:../plugins/.*/.libs/:../runtime/.libs/:g' + # fix the python3 path for tests/set-envar + sed -i -e s:${HOSTTOOLS_DIR}:${bindir}:g ${D}${PTEST_PATH}/tests/set-envvars } -do_install_append() { +do_install:append() { install -d "${D}${sysconfdir}/init.d" install -d "${D}${sysconfdir}/logrotate.d" - install -m 755 ${WORKDIR}/initscript ${D}${sysconfdir}/init.d/syslog - install -m 644 ${WORKDIR}/rsyslog.conf ${D}${sysconfdir}/rsyslog.conf - install -m 644 ${WORKDIR}/rsyslog.logrotate ${D}${sysconfdir}/logrotate.d/logrotate.rsyslog + install -m 755 ${UNPACKDIR}/initscript ${D}${sysconfdir}/init.d/syslog + install -m 644 ${UNPACKDIR}/rsyslog.conf ${D}${sysconfdir}/rsyslog.conf + install -m 644 ${UNPACKDIR}/rsyslog.logrotate ${D}${sysconfdir}/logrotate.d/logrotate.rsyslog + sed -i -e "s#@BINDIR@#${bindir}#g" ${D}${sysconfdir}/logrotate.d/logrotate.rsyslog + + if ${@bb.utils.contains('PACKAGECONFIG', 'imjournal', 'true', 'false', d)}; then + install -d 0755 ${D}${sysconfdir}/rsyslog.d + echo '$ModLoad imjournal' >> ${D}${sysconfdir}/rsyslog.d/imjournal.conf + fi + if ${@bb.utils.contains('PACKAGECONFIG', 'mmjsonparse', 'true', 'false', d)}; then + install -d 0755 ${D}${sysconfdir}/rsyslog.d + echo '$ModLoad mmjsonparse' >> ${D}${sysconfdir}/rsyslog.d/mmjsonparse.conf + fi + if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then + install -d ${D}${systemd_system_unitdir} + install -m 644 ${UNPACKDIR}/rsyslog.service ${D}${systemd_system_unitdir} + sed -i -e "s,@sbindir@,${sbindir},g" ${D}${systemd_system_unitdir}/rsyslog.service + fi } -FILES_${PN} += "${bindir}" +FILES:${PN} += "${bindir}" INITSCRIPT_NAME = "syslog" INITSCRIPT_PARAMS = "defaults" -CONFFILES_${PN} = "${sysconfdir}/rsyslog.conf" +CONFFILES:${PN} = "${sysconfdir}/rsyslog.conf" -RCONFLICTS_${PN} = "busybox-syslog sysklogd syslog-ng" +RCONFLICTS:${PN} = "busybox-syslog sysklogd syslog-ng" -RPROVIDES_${PN} += "${PN}-systemd" -RREPLACES_${PN} += "${PN}-systemd" -RCONFLICTS_${PN} += "${PN}-systemd" -SYSTEMD_SERVICE_${PN} = "${BPN}.service" +RPROVIDES:${PN} += "${PN}-systemd" +RREPLACES:${PN} += "${PN}-systemd" +RCONFLICTS:${PN} += "${PN}-systemd" +SYSTEMD_SERVICE:${PN} = "${BPN}.service" -RDEPENDS_${PN} += "logrotate" +RDEPENDS:${PN} += "logrotate" # for rsyslog-ptest VALGRIND = "valgrind" -VALGRIND_mips = "" -VALGRIND_mips64 = "" -VALGRIND_mips64n32 = "" -VALGRIND_arm = "" -VALGRIND_aarch64 = "" -RDEPENDS_${PN}-ptest += "make diffutils gzip bash gawk coreutils procps" -RRECOMMENDS_${PN}-ptest += "${TCLIBC}-dbg ${VALGRIND}" + +# valgrind supports armv7 and above +VALGRIND:armv4 = '' +VALGRIND:armv5 = '' +VALGRIND:armv6 = '' + +# X32 isn't supported by valgrind at this time +VALGRIND:linux-gnux32 = '' +VALGRIND:linux-muslx32 = '' + +# Disable for some MIPS variants +VALGRIND:mipsarchr6 = '' +VALGRIND:linux-gnun32 = '' + +# Disable for powerpc64 with musl +VALGRIND:libc-musl:powerpc64 = '' +VALGRIND:libc-musl:powerpc64le = '' + +# RISC-V support for valgrind is not there yet +VALGRIND:riscv64 = "" +VALGRIND:riscv32 = "" + +# util-linux: logger needs the -d option +RDEPENDS:${PN}-ptest += "\ + make diffutils gzip bash gawk coreutils procps \ + libgcc python3-core python3-io python3-json \ + curl util-linux shadow \ + " + +RRECOMMENDS:${PN}-ptest += "${TCLIBC}-dbg ${VALGRIND}" |