[oe] [meta-oe][PATCH 3/3] rsyslog: upgrade to 8.22.0
Qi.Chen at windriver.com
Qi.Chen at windriver.com
Mon Oct 24 06:35:04 UTC 2016
From: Chen Qi <Qi.Chen at windriver.com>
enable_tls_ptests.patch is removed as the problem has been fixed in new version.
fix_build_with_musl.patch is removed as it's no longer suitable.
The file it fixes is not even there any more.
Several necessary runtime dependencies are added to rsyslog-ptest.
Signed-off-by: Chen Qi <Qi.Chen at windriver.com>
---
...include-config.h-before-any-other-headers.patch | 51 ------
.../rsyslog/rsyslog/enable_tls_ptests.patch | 28 ----
.../rsyslog/rsyslog/fix_build_with_musl.patch | 62 -------
.../rsyslog/rsyslog/json-0.12-fix.patch | 47 ------
.../replace_deprecated_GnuTLS_functions.patch | 73 ---------
...icate_type_set_priority_only_if_available.patch | 79 ---------
meta-oe/recipes-extended/rsyslog/rsyslog_7.6.7.bb | 180 ---------------------
meta-oe/recipes-extended/rsyslog/rsyslog_8.22.0.bb | 172 ++++++++++++++++++++
8 files changed, 172 insertions(+), 520 deletions(-)
delete mode 100644 meta-oe/recipes-extended/rsyslog/rsyslog/bugfix-include-config.h-before-any-other-headers.patch
delete mode 100644 meta-oe/recipes-extended/rsyslog/rsyslog/enable_tls_ptests.patch
delete mode 100644 meta-oe/recipes-extended/rsyslog/rsyslog/fix_build_with_musl.patch
delete mode 100644 meta-oe/recipes-extended/rsyslog/rsyslog/json-0.12-fix.patch
delete mode 100644 meta-oe/recipes-extended/rsyslog/rsyslog/replace_deprecated_GnuTLS_functions.patch
delete mode 100644 meta-oe/recipes-extended/rsyslog/rsyslog/use_gnutls_certificate_type_set_priority_only_if_available.patch
delete mode 100644 meta-oe/recipes-extended/rsyslog/rsyslog_7.6.7.bb
create mode 100644 meta-oe/recipes-extended/rsyslog/rsyslog_8.22.0.bb
diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog/bugfix-include-config.h-before-any-other-headers.patch b/meta-oe/recipes-extended/rsyslog/rsyslog/bugfix-include-config.h-before-any-other-headers.patch
deleted file mode 100644
index 1048b42..0000000
--- a/meta-oe/recipes-extended/rsyslog/rsyslog/bugfix-include-config.h-before-any-other-headers.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-Backport below commit for fixing:
-
-lexer.l:34:14: error: expected identifier or '(' before '__extension__'
-
-From 876bdd1c85353f7e254f4b4c3e228484860cea57 Mon Sep 17 00:00:00 2001
-From: Tomas Heinrich <theinric at redhat.com>
-Date: Mon, 17 Nov 2014 20:53:22 +0100
-Subject: [PATCH] bugfix: include config.h before any other headers
-
-For some reason, flex used to prepend several standard headers before
-config.h. This prevented some conditional extension in these headers
-from being defined.
-
-The explicit prototype for strdup() shouldn't be required anymore as
-it should be provided by string.h.
-
-Upstream-Status: Backport
----
- grammar/lexer.l | 7 +++++--
- 1 file changed, 5 insertions(+), 2 deletions(-)
-
-diff --git a/grammar/lexer.l b/grammar/lexer.l
-index 359cf9f..c834ef7 100644
---- a/grammar/lexer.l
-+++ b/grammar/lexer.l
-@@ -28,10 +28,12 @@
- * limitations under the License.
- */
-
--%{
-+%top{
- #include "config.h"
-+}
-+
-+%{
- #include "parserif.h"
--extern char *strdup(__const char*); /* somehow we may not get this from string.h... */
- %}
-
- %option noyywrap nodefault case-insensitive yylineno
-@@ -67,6 +69,7 @@ extern char *strdup(__const char*); /* somehow we may not get this from string.h
- #include <ctype.h>
- #include <stdio.h>
- #include <stdlib.h>
-+#include <string.h>
- #include <strings.h>
- #include <libestr.h>
- #include "rainerscript.h"
---
-2.7.4
-
diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog/enable_tls_ptests.patch b/meta-oe/recipes-extended/rsyslog/rsyslog/enable_tls_ptests.patch
deleted file mode 100644
index c858f32..0000000
--- a/meta-oe/recipes-extended/rsyslog/rsyslog/enable_tls_ptests.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Enable tls ptest
-
-Signed-off-by: Tudor Florea <tudor.florea at enea.com>
-Upstream-Status: Pending
-
---- rsyslog-7.4.4/tests/Makefile.am.orig 2013-08-30 18:30:41.000000000 +0200
-+++ rsyslog-7.4.4/tests/Makefile.am 2015-10-01 09:38:45.176289031 +0200
-@@ -118,15 +118,13 @@
- endif
-
- if ENABLE_GNUTLS
--# TODO: re-enable in newer version
--#TESTS += \
-- #sndrcv_tls_anon.sh \
-- #sndrcv_tls_anon_rebind.sh \
-- #imtcp-tls-basic.sh
-+TESTS += \
-+ imtcp-tls-basic.sh \
-+ imtcp_conndrop_tls.sh
- if HAVE_VALGRIND
- TESTS += imtcp-tls-basic-vg.sh \
-- imtcp_conndrop_tls-vg.sh
-- manytcp-too-few-tls-vg.sh
-+ imtcp_conndrop_tls-vg.sh \
-+ manytcp-too-few-tls.sh
- endif
- endif
-
diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog/fix_build_with_musl.patch b/meta-oe/recipes-extended/rsyslog/rsyslog/fix_build_with_musl.patch
deleted file mode 100644
index db35db0..0000000
--- a/meta-oe/recipes-extended/rsyslog/rsyslog/fix_build_with_musl.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From b6cc506b6ad0b5dd9aa9831ed42e6759183aaf45 Mon Sep 17 00:00:00 2001
-From: Peter Liu <peter.x.liu at external.atlascopco.com>
-Date: Mon, 26 Sep 2016 17:03:57 +0200
-Subject: [PATCH] fix building with musl libc
-
-- struct timeval is defined in sys/time.h with a musl libc.
-- include fcntl.h without the conditional checking.
-
-Upstream-Status: Pending
-
-Signed-off-by: Peter Liu <peter.x.liu at external.atlascopco.com>
----
- tests/msleep.c | 2 +-
- tools/omfile.c | 4 +---
- tools/pidfile.c | 2 --
- 3 files changed, 2 insertions(+), 6 deletions(-)
-
-diff --git a/tests/msleep.c b/tests/msleep.c
-index 36fa01b..ca818be 100644
---- a/tests/msleep.c
-+++ b/tests/msleep.c
-@@ -26,7 +26,7 @@
- #include "config.h"
- #include <stdio.h>
- #include <stdlib.h>
--#include <time.h>
-+#include <sys/time.h>
-
- int main(int argc, char *argv[])
- {
-diff --git a/tools/omfile.c b/tools/omfile.c
-index 11eab56..765ef91 100644
---- a/tools/omfile.c
-+++ b/tools/omfile.c
-@@ -48,9 +48,7 @@
- #include <libgen.h>
- #include <unistd.h>
- #include <sys/file.h>
--#ifdef OS_SOLARIS
--# include <fcntl.h>
--#endif
-+#include <fcntl.h>
- #ifdef HAVE_ATOMIC_BUILTINS
- # include <pthread.h>
- #endif
-diff --git a/tools/pidfile.c b/tools/pidfile.c
-index 8298b94..188cca4 100644
---- a/tools/pidfile.c
-+++ b/tools/pidfile.c
-@@ -36,9 +36,7 @@
- #include <string.h>
- #include <errno.h>
- #include <signal.h>
--#ifdef __sun
- #include <fcntl.h>
--#endif
-
- #include "srUtils.h"
-
---
-1.9.1
-
diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog/json-0.12-fix.patch b/meta-oe/recipes-extended/rsyslog/rsyslog/json-0.12-fix.patch
deleted file mode 100644
index 3dd85a7..0000000
--- a/meta-oe/recipes-extended/rsyslog/rsyslog/json-0.12-fix.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-json-c-0.12 unlike 0.11 doesn't install json -> json-c symlink in include
-
-* Resolved in Version 7.6.4 [v7.6-stable] 2014-09-12
- https://github.com/rsyslog/rsyslog/blob/v7-stable/ChangeLog
-* permits to build against json-c 0.12
- Unfortunately, json-c had an ABI breakage, so this is necessary. Note
- that versions prior to 0.12 had security issues (CVE-2013-6370,
- CVE-2013-6371) and so it is desirable to link against the new version.
- Thanks to Thomas D. for the patch. Note that at least some distros
- have fixed the security issue in older versions of json-c, so this
- seems to apply mostly when building from sources.
-
-Upstream-Status: Backport
-Signed-off-by: Martin Jansa <Martin.Jansa at gmail.com>
-
-diff --git a/plugins/ommongodb/ommongodb.c b/plugins/ommongodb/ommongodb.c
-index 41c0d76..682c40e 100644
---- a/plugins/ommongodb/ommongodb.c
-+++ b/plugins/ommongodb/ommongodb.c
-@@ -33,9 +33,9 @@
- #include <stdint.h>
- #include <time.h>
- #include <mongo.h>
--#include <json.h>
-+#include <json-c/json.h>
- /* For struct json_object_iter, should not be necessary in future versions */
--#include <json_object_private.h>
-+#include <json-c/json_object_private.h>
-
- #include "rsyslog.h"
- #include "conf.h"
-diff --git a/runtime/msg.c b/runtime/msg.c
-index d04ce7b..b367e1f 100644
---- a/runtime/msg.c
-+++ b/runtime/msg.c
-@@ -41,9 +41,9 @@
- #endif
- #include <netdb.h>
- #include <libestr.h>
--#include <json.h>
-+#include <json-c/json.h>
- /* For struct json_object_iter, should not be necessary in future versions */
--#include <json_object_private.h>
-+#include <json-c/json_object_private.h>
- #if HAVE_MALLOC_H
- # include <malloc.h>
- #endif
diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog/replace_deprecated_GnuTLS_functions.patch b/meta-oe/recipes-extended/rsyslog/rsyslog/replace_deprecated_GnuTLS_functions.patch
deleted file mode 100644
index be05eee..0000000
--- a/meta-oe/recipes-extended/rsyslog/rsyslog/replace_deprecated_GnuTLS_functions.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-replace deprecated GnuTLS functions with newer ones if available
-
-closes https://github.com/rsyslog/rsyslog/issues/302
-
-Upstream fix https://github.com/rsyslog/rsyslog/commit/b34c35e38f258935c0e92ca754da097d7f3f0f58
-
-Upstream-Status: Backport
-Signed-off-by: Tudor Florea <tudor.florea at enea.com>
-
----
- configure.ac | 2 ++
- runtime/nsd_gtls.c | 21 ++++++++++++++++++---
- 2 files changed, 20 insertions(+), 3 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 643fc94..56835fb 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -763,6 +763,8 @@ AC_ARG_ENABLE(gnutls,
- if test "x$enable_gnutls" = "xyes"; then
- PKG_CHECK_MODULES(GNUTLS, gnutls >= 1.4.0)
- AC_DEFINE([ENABLE_GNUTLS], [1], [Indicator that GnuTLS is present])
-+ AC_CHECK_LIB(gnutls, gnutls_global_init)
-+ AC_CHECK_FUNCS(gnutls_certificate_set_retrieve_function,,)
- fi
- AM_CONDITIONAL(ENABLE_GNUTLS, test x$enable_gnutls = xyes)
-
-diff --git a/runtime/nsd_gtls.c b/runtime/nsd_gtls.c
-index a763e4b..e127834 100644
---- a/runtime/nsd_gtls.c
-+++ b/runtime/nsd_gtls.c
-@@ -232,15 +232,26 @@ gtlsLoadOurCertKey(nsd_gtls_t *pThis)
- */
- static int
- gtlsClientCertCallback(gnutls_session session,
-- __attribute__((unused)) const gnutls_datum* req_ca_rdn, int __attribute__((unused)) nreqs,
-- __attribute__((unused)) const gnutls_pk_algorithm* sign_algos, int __attribute__((unused)) sign_algos_length,
-- gnutls_retr_st *st)
-+ __attribute__((unused)) const gnutls_datum* req_ca_rdn,
-+ int __attribute__((unused)) nreqs,
-+ __attribute__((unused)) const gnutls_pk_algorithm* sign_algos,
-+ int __attribute__((unused)) sign_algos_length,
-+#if HAVE_GNUTLS_CERTIFICATE_SET_RETRIEVE_FUNCTION
-+ gnutls_retr2_st* st
-+#else
-+ gnutls_retr_st *st
-+#endif
-+ )
- {
- nsd_gtls_t *pThis;
-
- pThis = (nsd_gtls_t*) gnutls_session_get_ptr(session);
-
-+#if HAVE_GNUTLS_CERTIFICATE_SET_RETRIEVE_FUNCTION
-+ st->cert_type = GNUTLS_CRT_X509;
-+#else
- st->type = GNUTLS_CRT_X509;
-+#endif
- st->ncerts = 1;
- st->cert.x509 = &pThis->ourCert;
- st->key.x509 = pThis->ourKey;
-@@ -1625,7 +1625,11 @@ Connect(nsd_t *pNsd, int family, uchar *port, uchar *host)
- gnutls_session_set_ptr(pThis->sess, (void*)pThis);
- iRet = gtlsLoadOurCertKey(pThis); /* first load .pem files */
- if(iRet == RS_RET_OK) {
-+# if HAVE_GNUTLS_CERTIFICATE_SET_RETRIEVE_FUNCTION
-+ gnutls_certificate_set_retrieve_function(xcred, gtlsClientCertCallback);
-+# else
- gnutls_certificate_client_set_retrieve_function(xcred, gtlsClientCertCallback);
-+# endif
- } else if(iRet != RS_RET_CERTLESS) {
- FINALIZE; /* we have an error case! */
- }
diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog/use_gnutls_certificate_type_set_priority_only_if_available.patch b/meta-oe/recipes-extended/rsyslog/rsyslog/use_gnutls_certificate_type_set_priority_only_if_available.patch
deleted file mode 100644
index e1dab75..0000000
--- a/meta-oe/recipes-extended/rsyslog/rsyslog/use_gnutls_certificate_type_set_priority_only_if_available.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From 21674039db99d1067e9df4df04d965297d62c6af Mon Sep 17 00:00:00 2001
-From: Rainer Gerhards <rgerhards at adiscon.com>
-Date: Mon, 18 May 2015 09:36:02 +0200
-Subject: [PATCH] use gnutls_certificate_type_set_priority() only if available
-
-The gnutls_certificate_type_set_priority function is deprecated
-and not available in recent GnuTLS versions. However, there is no
-doc how to properly replace it with gnutls_priority_set_direct.
-A lot of folks have simply removed it, when they also called
-gnutls_set_default_priority. This is what we now also do. If
-this causes problems or someone has an idea of how to replace
-the deprecated function in a better way, please let us know!
-In any case, we use it as long as it is available and let
-not insult us by the deprecation warnings.
-
-Upstream-Status: Backport
-Signed-off-by: Tudor Florea <tudor.florea at enea.com>
-
----
- configure.ac | 1 +
- runtime/nsd_gtls.c | 18 ++++++++++++++++--
- 2 files changed, 17 insertions(+), 2 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 56835fb..1c2be01 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -765,6 +765,7 @@ if test "x$enable_gnutls" = "xyes"; then
- AC_DEFINE([ENABLE_GNUTLS], [1], [Indicator that GnuTLS is present])
- AC_CHECK_LIB(gnutls, gnutls_global_init)
- AC_CHECK_FUNCS(gnutls_certificate_set_retrieve_function,,)
-+ AC_CHECK_FUNCS(gnutls_certificate_type_set_priority,,)
- fi
- AM_CONDITIONAL(ENABLE_GNUTLS, test x$enable_gnutls = xyes)
-
-diff --git a/runtime/nsd_gtls.c b/runtime/nsd_gtls.c
-index e127834..4b6aab1 100644
---- a/runtime/nsd_gtls.c
-+++ b/runtime/nsd_gtls.c
-@@ -1658,8 +1658,9 @@ Connect(nsd_t *pNsd, int family, uchar *port, uchar *host)
- nsd_gtls_t *pThis = (nsd_gtls_t*) pNsd;
- int sock;
- int gnuRet;
-- /* TODO: later? static const int cert_type_priority[3] = { GNUTLS_CRT_X509, GNUTLS_CRT_OPENPGP, 0 };*/
-+# if HAVE_GNUTLS_CERTIFICATE_TYPE_SET_PRIORITY
- static const int cert_type_priority[2] = { GNUTLS_CRT_X509, 0 };
-+# endif
- DEFiRet;
-
- ISOBJ_TYPE_assert(pThis, nsd_gtls);
-@@ -1688,14 +1689,27 @@ Connect(nsd_t *pNsd, int family, uchar *port, uchar *host)
- gnutls_certificate_set_retrieve_function(xcred, gtlsClientCertCallback);
- # else
- gnutls_certificate_client_set_retrieve_function(xcred, gtlsClientCertCallback);
--# endif
-+# endif
- } else if(iRet != RS_RET_CERTLESS) {
- FINALIZE; /* we have an error case! */
- }
-
- /* Use default priorities */
- CHKgnutls(gnutls_set_default_priority(pThis->sess));
-+# if HAVE_GNUTLS_CERTIFICATE_TYPE_SET_PRIORITY
-+ /* The gnutls_certificate_type_set_priority function is deprecated
-+ * and not available in recent GnuTLS versions. However, there is no
-+ * doc how to properly replace it with gnutls_priority_set_direct.
-+ * A lot of folks have simply removed it, when they also called
-+ * gnutls_set_default_priority. This is what we now also do. If
-+ * this causes problems or someone has an idea of how to replace
-+ * the deprecated function in a better way, please let us know!
-+ * In any case, we use it as long as it is available and let
-+ * not insult us by the deprecation warnings.
-+ * 2015-05-18 rgerhards
-+ */
- CHKgnutls(gnutls_certificate_type_set_priority(pThis->sess, cert_type_priority));
-+# endif
-
- /* put the x509 credentials to the current session */
- CHKgnutls(gnutls_credentials_set(pThis->sess, GNUTLS_CRD_CERTIFICATE, xcred));
diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog_7.6.7.bb b/meta-oe/recipes-extended/rsyslog/rsyslog_7.6.7.bb
deleted file mode 100644
index 38bbe9c..0000000
--- a/meta-oe/recipes-extended/rsyslog/rsyslog_7.6.7.bb
+++ /dev/null
@@ -1,180 +0,0 @@
-SUMMARY = "Rsyslog is an enhanced multi-threaded syslogd"
-DESCRIPTION = "\
-Rsyslog is an enhanced syslogd supporting, among others, MySQL,\
- PostgreSQL, failover log destinations, syslog/tcp, fine grain\
- output format control, high precision timestamps, queued operations\
- and the ability to filter on any message part. It is quite\
- compatible to stock sysklogd and can be used as a drop-in replacement.\
- Its advanced features make it suitable for enterprise-class,\
- encryption protected syslog relay chains while at the same time being\
- very easy to setup for the novice user."
-
-DEPENDS = "zlib libestr json-c bison-native flex-native liblogging"
-HOMEPAGE = "http://www.rsyslog.com/"
-LICENSE = "GPLv3 & LGPLv3 & 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 \
- file://initscript \
- file://rsyslog.conf \
- file://rsyslog.logrotate \
- file://use-pkgconfig-to-check-libgcrypt.patch \
- file://run-ptest \
- file://rsyslog-fix-ptest-not-finish.patch \
- file://json-0.12-fix.patch \
- file://replace_deprecated_GnuTLS_functions.patch \
- file://use_gnutls_certificate_type_set_priority_only_if_available.patch \
- file://bugfix-include-config.h-before-any-other-headers.patch \
- file://enable_tls_ptests.patch \
- file://fix_build_with_musl.patch \
-"
-
-SRC_URI[md5sum] = "fa78a6e675fe78a811edcdf7eb6f1975"
-SRC_URI[sha256sum] = "fc29d2d9cbf3396091dd0bab2eb6f847aed4a44ef73138a97ddf9447446125ee"
-
-inherit autotools pkgconfig systemd update-rc.d update-alternatives ptest
-
-EXTRA_OECONF += "--disable-generate-man-pages"
-
-# first line is default yes in configure
-PACKAGECONFIG ??= " \
- zlib rsyslogd rsyslogrt klog inet regexp uuid libgcrypt \
- imdiag gnutls imfile \
- ${@bb.utils.contains('DISTRO_FEATURES', 'snmp', 'snmp', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'testbench ${VALGRIND}', '', d)} \
-"
-
-# default yes in configure
-PACKAGECONFIG[zlib] = "--enable-zlib,--disable-zlib,zlib,"
-PACKAGECONFIG[rsyslogd] = "--enable-rsyslogd,--disable-rsyslogd,,"
-PACKAGECONFIG[rsyslogrt] = "--enable-rsyslogrt,--disable-rsyslogrt,,"
-PACKAGECONFIG[inet] = "--enable-inet,--disable-inet,,"
-PACKAGECONFIG[klog] = "--enable-klog,--disable-klog,,"
-PACKAGECONFIG[regexp] = "--enable-regexp,--disable-regexp,,"
-PACKAGECONFIG[uuid] = "--enable-uuid,--disable-uuid,util-linux,"
-PACKAGECONFIG[libgcrypt] = "--enable-libgcrypt,--disable-libgcrypt,libgcrypt,"
-PACKAGECONFIG[testbench] = "--enable-testbench,--disable-testbench,,"
-
-# default no in configure
-PACKAGECONFIG[debug] = "--enable-debug,--disable-debug,,"
-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[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[gui] = "--enable-gui,--disable-gui,,"
-PACKAGECONFIG[valgrind] = "--enable-valgrind,--disable-valgrind,valgrind,"
-
-TESTDIR = "tests"
-do_compile_ptest() {
- echo 'buildtest-TESTS: $(check_PROGRAMS)' >> ${TESTDIR}/Makefile
- oe_runmake -C ${TESTDIR} buildtest-TESTS
-}
-
-do_install_ptest() {
- # install the tests
- cp -rf ${S}/${TESTDIR} ${D}${PTEST_PATH}
- cp -rf ${B}/${TESTDIR} ${D}${PTEST_PATH}
-
- # do NOT need to rebuild Makefile itself
- sed -i 's/^Makefile:.*$/Makefile:/' ${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
-
- # install test-driver
- install -m 644 ${S}/test-driver ${D}${PTEST_PATH}/${TESTDIR}
-
- # install necessary links
- install -d ${D}${PTEST_PATH}/tools
- ln -sf ${sbindir}/rsyslogd ${D}${PTEST_PATH}/tools/rsyslogd
-
- install -d ${D}${PTEST_PATH}/runtime
- install -d ${D}${PTEST_PATH}/runtime/.libs
- (
- cd ${D}/${libdir}/rsyslog
- allso="*.so"
- for i in $allso; do
- ln -sf ${libdir}/rsyslog/$i ${D}${PTEST_PATH}/runtime/.libs/$i
- done
- )
-
- # fix the module load path with runtime/.libs
- find ${D}${PTEST_PATH}/${TESTDIR} -name \*.conf -exec \
- sed -i -e 's:../plugins/.*/.libs/:../runtime/.libs/:' \
- '{}' \;
-}
-
-do_install_append() {
- install -d "${D}${sysconfdir}/init.d"
- install -m 755 ${WORKDIR}/initscript ${D}${sysconfdir}/init.d/syslog.${BPN}
- install -m 644 ${WORKDIR}/rsyslog.conf ${D}${sysconfdir}/rsyslog.conf
- install -m 644 ${WORKDIR}/rsyslog.logrotate ${D}${sysconfdir}/logrotate.rsyslog
-}
-
-FILES_${PN} += "${bindir}"
-
-INITSCRIPT_NAME = "syslog"
-INITSCRIPT_PARAMS = "defaults"
-
-# higher than sysklogd's 100
-ALTERNATIVE_PRIORITY = "110"
-
-ALTERNATIVE_${PN} = "syslogd syslog-conf syslog-logrotate"
-
-ALTERNATIVE_LINK_NAME[syslogd] = "${base_sbindir}/syslogd"
-ALTERNATIVE_TARGET[syslogd] = "${sbindir}/rsyslogd"
-ALTERNATIVE_LINK_NAME[syslog-conf] = "${sysconfdir}/syslog.conf"
-ALTERNATIVE_TARGET[syslog-conf] = "${sysconfdir}/rsyslog.conf"
-ALTERNATIVE_LINK_NAME[syslog-logrotate] = "${sysconfdir}/logrotate.d/syslog"
-ALTERNATIVE_TARGET[syslog-logrotate] = "${sysconfdir}/logrotate.rsyslog"
-
-CONFFILES_${PN} = "${sysconfdir}/rsyslog.conf"
-
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
-SYSTEMD_SERVICE_${PN} = "${BPN}.service"
-
-RDEPENDS_${PN} += "logrotate"
-
-# for rsyslog-ptest
-VALGRIND = "valgrind"
-VALGRIND_mips = ""
-VALGRIND_mips64 = ""
-VALGRIND_mips64n32 = ""
-VALGRIND_arm = ""
-VALGRIND_aarch64 = ""
-RDEPENDS_${PN}-ptest += "make diffutils gzip"
-RRECOMMENDS_${PN}-ptest += "${TCLIBC}-dbg ${VALGRIND}"
-
-# no syslog-init for systemd
-python () {
- if bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d):
- pn = d.getVar('PN', True)
- sysconfdir = d.getVar('sysconfdir', True)
- d.appendVar('ALTERNATIVE_%s' % (pn), ' syslog-init')
- d.setVarFlag('ALTERNATIVE_LINK_NAME', 'syslog-init', '%s/init.d/syslog' % (sysconfdir))
- d.setVarFlag('ALTERNATIVE_TARGET', 'syslog-init', '%s/init.d/syslog.%s' % (d.getVar('sysconfdir', True), d.getVar('BPN', True)))
-
- if bb.utils.contains('DISTRO_FEATURES', 'systemd', True, False, d):
- pn = d.getVar('PN', True)
- d.appendVar('ALTERNATIVE_%s' % (pn), ' syslog-service')
- d.setVarFlag('ALTERNATIVE_LINK_NAME', 'syslog-service', '%s/systemd/system/syslog.service' % (d.getVar('sysconfdir', True)))
- d.setVarFlag('ALTERNATIVE_TARGET', 'syslog-service', '%s/system/rsyslog.service' % (d.getVar('systemd_unitdir', True)))
-}
diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog_8.22.0.bb b/meta-oe/recipes-extended/rsyslog/rsyslog_8.22.0.bb
new file mode 100644
index 0000000..7242323
--- /dev/null
+++ b/meta-oe/recipes-extended/rsyslog/rsyslog_8.22.0.bb
@@ -0,0 +1,172 @@
+SUMMARY = "Rsyslog is an enhanced multi-threaded syslogd"
+DESCRIPTION = "\
+Rsyslog is an enhanced syslogd supporting, among others, MySQL,\
+ PostgreSQL, failover log destinations, syslog/tcp, fine grain\
+ output format control, high precision timestamps, queued operations\
+ and the ability to filter on any message part. It is quite\
+ compatible to stock sysklogd and can be used as a drop-in replacement.\
+ Its advanced features make it suitable for enterprise-class,\
+ encryption protected syslog relay chains while at the same time being\
+ very easy to setup for the novice user."
+
+DEPENDS = "zlib libestr libfastjson bison-native flex-native liblogging"
+HOMEPAGE = "http://www.rsyslog.com/"
+LICENSE = "GPLv3 & LGPLv3 & 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 \
+ file://initscript \
+ file://rsyslog.conf \
+ file://rsyslog.logrotate \
+ file://use-pkgconfig-to-check-libgcrypt.patch \
+ file://run-ptest \
+ file://rsyslog-fix-ptest-not-finish.patch \
+"
+
+SRC_URI[md5sum] = "ad0f25f429aa2daa326732950a5eeb6c"
+SRC_URI[sha256sum] = "06e2884181333dccecceaca82827ae24ca7a258b4fbf7b1e07a80d4caae640ca"
+
+inherit autotools pkgconfig systemd update-rc.d update-alternatives ptest
+
+EXTRA_OECONF += "--disable-generate-man-pages"
+
+# first line is default yes in configure
+PACKAGECONFIG ??= " \
+ rsyslogd rsyslogrt klog inet regexp uuid libgcrypt \
+ imdiag gnutls imfile \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'snmp', 'snmp', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'testbench relp ${VALGRIND}', '', d)} \
+"
+
+# default yes in configure
+PACKAGECONFIG[relp] = "--enable-relp,--disable-relp,librelp,"
+PACKAGECONFIG[rsyslogd] = "--enable-rsyslogd,--disable-rsyslogd,,"
+PACKAGECONFIG[rsyslogrt] = "--enable-rsyslogrt,--disable-rsyslogrt,,"
+PACKAGECONFIG[inet] = "--enable-inet,--disable-inet,,"
+PACKAGECONFIG[klog] = "--enable-klog,--disable-klog,,"
+PACKAGECONFIG[regexp] = "--enable-regexp,--disable-regexp,,"
+PACKAGECONFIG[uuid] = "--enable-uuid,--disable-uuid,util-linux,"
+PACKAGECONFIG[libgcrypt] = "--enable-libgcrypt,--disable-libgcrypt,libgcrypt,"
+PACKAGECONFIG[testbench] = "--enable-testbench,--disable-testbench,,"
+
+# default no in configure
+PACKAGECONFIG[debug] = "--enable-debug,--disable-debug,,"
+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[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,"
+
+TESTDIR = "tests"
+do_compile_ptest() {
+ echo 'buildtest-TESTS: $(check_PROGRAMS)' >> ${TESTDIR}/Makefile
+ oe_runmake -C ${TESTDIR} buildtest-TESTS
+}
+
+do_install_ptest() {
+ # install the tests
+ cp -rf ${S}/${TESTDIR} ${D}${PTEST_PATH}
+ cp -rf ${B}/${TESTDIR} ${D}${PTEST_PATH}
+
+ # do NOT need to rebuild Makefile itself
+ sed -i 's/^Makefile:.*$/Makefile:/' ${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
+
+ # install test-driver
+ install -m 644 ${S}/test-driver ${D}${PTEST_PATH}
+
+ # install necessary links
+ install -d ${D}${PTEST_PATH}/tools
+ ln -sf ${sbindir}/rsyslogd ${D}${PTEST_PATH}/tools/rsyslogd
+
+ install -d ${D}${PTEST_PATH}/runtime
+ install -d ${D}${PTEST_PATH}/runtime/.libs
+ (
+ cd ${D}/${libdir}/rsyslog
+ allso="*.so"
+ for i in $allso; do
+ ln -sf ${libdir}/rsyslog/$i ${D}${PTEST_PATH}/runtime/.libs/$i
+ done
+ )
+
+ # 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'
+}
+
+do_install_append() {
+ install -d "${D}${sysconfdir}/init.d"
+ install -m 755 ${WORKDIR}/initscript ${D}${sysconfdir}/init.d/syslog.${BPN}
+ install -m 644 ${WORKDIR}/rsyslog.conf ${D}${sysconfdir}/rsyslog.conf
+ install -m 644 ${WORKDIR}/rsyslog.logrotate ${D}${sysconfdir}/logrotate.rsyslog
+}
+
+FILES_${PN} += "${bindir}"
+
+INITSCRIPT_NAME = "syslog"
+INITSCRIPT_PARAMS = "defaults"
+
+# higher than sysklogd's 100
+ALTERNATIVE_PRIORITY = "110"
+
+ALTERNATIVE_${PN} = "syslogd syslog-conf syslog-logrotate"
+
+ALTERNATIVE_LINK_NAME[syslogd] = "${base_sbindir}/syslogd"
+ALTERNATIVE_TARGET[syslogd] = "${sbindir}/rsyslogd"
+ALTERNATIVE_LINK_NAME[syslog-conf] = "${sysconfdir}/syslog.conf"
+ALTERNATIVE_TARGET[syslog-conf] = "${sysconfdir}/rsyslog.conf"
+ALTERNATIVE_LINK_NAME[syslog-logrotate] = "${sysconfdir}/logrotate.d/syslog"
+ALTERNATIVE_TARGET[syslog-logrotate] = "${sysconfdir}/logrotate.rsyslog"
+
+CONFFILES_${PN} = "${sysconfdir}/rsyslog.conf"
+
+RPROVIDES_${PN} += "${PN}-systemd"
+RREPLACES_${PN} += "${PN}-systemd"
+RCONFLICTS_${PN} += "${PN}-systemd"
+SYSTEMD_SERVICE_${PN} = "${BPN}.service"
+
+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}"
+
+# no syslog-init for systemd
+python () {
+ if bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d):
+ pn = d.getVar('PN', True)
+ sysconfdir = d.getVar('sysconfdir', True)
+ d.appendVar('ALTERNATIVE_%s' % (pn), ' syslog-init')
+ d.setVarFlag('ALTERNATIVE_LINK_NAME', 'syslog-init', '%s/init.d/syslog' % (sysconfdir))
+ d.setVarFlag('ALTERNATIVE_TARGET', 'syslog-init', '%s/init.d/syslog.%s' % (d.getVar('sysconfdir', True), d.getVar('BPN', True)))
+
+ if bb.utils.contains('DISTRO_FEATURES', 'systemd', True, False, d):
+ pn = d.getVar('PN', True)
+ d.appendVar('ALTERNATIVE_%s' % (pn), ' syslog-service')
+ d.setVarFlag('ALTERNATIVE_LINK_NAME', 'syslog-service', '%s/systemd/system/syslog.service' % (d.getVar('sysconfdir', True)))
+ d.setVarFlag('ALTERNATIVE_TARGET', 'syslog-service', '%s/system/rsyslog.service' % (d.getVar('systemd_unitdir', True)))
+}
--
1.9.1
More information about the Openembedded-devel
mailing list