diff options
Diffstat (limited to 'meta-oe/recipes-support/syslog-ng/syslog-ng_4.8.2.bb')
-rw-r--r-- | meta-oe/recipes-support/syslog-ng/syslog-ng_4.8.2.bb | 149 |
1 files changed, 149 insertions, 0 deletions
diff --git a/meta-oe/recipes-support/syslog-ng/syslog-ng_4.8.2.bb b/meta-oe/recipes-support/syslog-ng/syslog-ng_4.8.2.bb new file mode 100644 index 0000000000..1b46d66d6c --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/syslog-ng_4.8.2.bb | |||
@@ -0,0 +1,149 @@ | |||
1 | SUMMARY = "Alternative system logger daemon" | ||
2 | DESCRIPTION = "syslog-ng, as the name shows, is a syslogd replacement, \ | ||
3 | but with new functionality for the new generation. The original syslogd \ | ||
4 | allows messages only to be sorted based on priority/facility pairs; \ | ||
5 | syslog-ng adds the possibility to filter based on message contents using \ | ||
6 | regular expressions. The new configuration scheme is intuitive and powerful. \ | ||
7 | Forwarding logs over TCP and remembering all forwarding hops makes it \ | ||
8 | ideal for firewalled environments. \ | ||
9 | " | ||
10 | HOMEPAGE = "http://www.balabit.com/network-security/syslog-ng/opensource-logging-system" | ||
11 | |||
12 | LICENSE = "GPL-2.0-only & LGPL-2.1-only" | ||
13 | LIC_FILES_CHKSUM = "file://COPYING;md5=924958cefc9f7de3e0b818832b8a1cec" | ||
14 | |||
15 | # util-linux added to get libuuid | ||
16 | DEPENDS = "libpcre flex glib-2.0 openssl util-linux bison-native curl json-c" | ||
17 | |||
18 | SRC_URI = "https://github.com/balabit/syslog-ng/releases/download/${BP}/${BP}.tar.gz \ | ||
19 | file://syslog-ng.conf.systemd \ | ||
20 | file://syslog-ng.conf.sysvinit \ | ||
21 | file://initscript \ | ||
22 | file://volatiles.03_syslog-ng \ | ||
23 | file://syslog-ng-tmp.conf \ | ||
24 | file://syslog-ng.service-the-syslog-ng-service.patch \ | ||
25 | file://0001-Fix-buildpaths-warning.patch \ | ||
26 | " | ||
27 | SRC_URI:append:powerpc64le = " file://0001-plugin.c-workaround-powerpc64le-segfaults-error.patch" | ||
28 | |||
29 | SRC_URI[sha256sum] = "7d1ebe70746009dc06bd2fa5c412a1985579a9c887292f766cc775d169d60e68" | ||
30 | |||
31 | UPSTREAM_CHECK_URI = "https://github.com/balabit/syslog-ng/releases" | ||
32 | |||
33 | CVE_STATUS[CVE-2022-38725] = "cpe-incorrect: cve-check wrongly matches cpe:2.3:a:oneidentity:syslog-ng:*:*:*:*:premium:*:*:* < 7.0.32" | ||
34 | |||
35 | inherit autotools gettext systemd pkgconfig update-rc.d multilib_header | ||
36 | |||
37 | EXTRA_OECONF = " \ | ||
38 | --enable-dynamic-linking \ | ||
39 | --disable-sub-streams \ | ||
40 | --disable-pacct \ | ||
41 | --localstatedir=${localstatedir}/lib/${BPN} \ | ||
42 | --sysconfdir=${sysconfdir}/${BPN} \ | ||
43 | --with-module-dir=${libdir}/${BPN} \ | ||
44 | --with-sysroot=${STAGING_DIR_HOST} \ | ||
45 | --without-mongoc --disable-mongodb \ | ||
46 | --with-librabbitmq-client=no \ | ||
47 | --disable-python \ | ||
48 | --disable-java --disable-java-modules \ | ||
49 | --with-pidfile-dir=${localstatedir}/run/${BPN} \ | ||
50 | " | ||
51 | |||
52 | PACKAGECONFIG ??= " \ | ||
53 | ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6 systemd', d)} \ | ||
54 | " | ||
55 | PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,," | ||
56 | PACKAGECONFIG[systemd] = "--enable-systemd --with-systemdsystemunitdir=${systemd_unitdir}/system/,--disable-systemd --without-systemdsystemunitdir,systemd," | ||
57 | PACKAGECONFIG[linux-caps] = "--enable-linux-caps,--disable-linux-caps,libcap," | ||
58 | PACKAGECONFIG[dbi] = "--enable-sql,--disable-sql,libdbi," | ||
59 | PACKAGECONFIG[spoof-source] = "--enable-spoof-source --with-libnet=${STAGING_BINDIR_CROSS},--disable-spoof-source,libnet," | ||
60 | PACKAGECONFIG[http] = "--enable-http,--disable-http,curl," | ||
61 | PACKAGECONFIG[smtp] = "--enable-smtp --with-libesmtp=${STAGING_LIBDIR},--disable-smtp,libesmtp," | ||
62 | PACKAGECONFIG[stomp] = "--enable-stomp,--disable-stomp,," | ||
63 | PACKAGECONFIG[json] = "--enable-json,--disable-json,json-c," | ||
64 | PACKAGECONFIG[tcp-wrapper] = "--enable-tcp-wrapper,--disable-tcp-wrapper,tcp-wrappers," | ||
65 | PACKAGECONFIG[geoip] = "--enable-geoip,--disable-geoip,geoip," | ||
66 | PACKAGECONFIG[native] = "--enable-native,--disable-native,," | ||
67 | PACKAGECONFIG[examples] = "--enable-example-modules,--disable-example-modules,," | ||
68 | |||
69 | do_install:append() { | ||
70 | install -d ${D}${sysconfdir}/${BPN} | ||
71 | install -d ${D}${sysconfdir}/init.d | ||
72 | install -m 755 ${UNPACKDIR}/initscript ${D}${sysconfdir}/init.d/syslog | ||
73 | |||
74 | install -d ${D}${sysconfdir}/default/volatiles/ | ||
75 | install -m 644 ${UNPACKDIR}/volatiles.03_syslog-ng ${D}${sysconfdir}/default/volatiles/03_syslog-ng | ||
76 | install -d ${D}${sysconfdir}/tmpfiles.d/ | ||
77 | install -m 644 ${UNPACKDIR}/syslog-ng-tmp.conf ${D}${sysconfdir}/tmpfiles.d/syslog-ng.conf | ||
78 | |||
79 | install -d ${D}${localstatedir}/lib/${BPN} | ||
80 | # Remove /var/run as it is created on startup | ||
81 | rm -rf ${D}${localstatedir}/run | ||
82 | |||
83 | # it causes install conflict when multilib enabled | ||
84 | # since python support is disabled, not deliver it | ||
85 | rm -f ${D}${bindir}/syslog-ng-update-virtualenv | ||
86 | |||
87 | # support for systemd | ||
88 | if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then | ||
89 | install -m 644 ${UNPACKDIR}/syslog-ng.conf.systemd ${D}${sysconfdir}/${BPN}/${BPN}.conf | ||
90 | |||
91 | install -d ${D}${systemd_unitdir}/system/ | ||
92 | install -m 644 ${S}/contrib/systemd/${BPN}@.service ${D}${systemd_unitdir}/system/${BPN}@.service | ||
93 | install -m 644 ${S}/contrib/systemd/${BPN}@default ${D}${sysconfdir}/default/${BPN}@default | ||
94 | |||
95 | sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/${BPN}@.service ${D}${sysconfdir}/default/${BPN}@default | ||
96 | sed -i -e 's,@LOCALSTATEDIR@,${localstatedir},g' ${D}${systemd_unitdir}/system/${BPN}@.service ${D}${sysconfdir}/default/${BPN}@default | ||
97 | sed -i -e 's,@BASEBINDIR@,${base_bindir},g' ${D}${systemd_unitdir}/system/${BPN}@.service ${D}${sysconfdir}/default/${BPN}@default | ||
98 | |||
99 | install -d ${D}${systemd_unitdir}/system/multi-user.target.wants | ||
100 | ln -sf ../${BPN}@.service ${D}${systemd_unitdir}/system/multi-user.target.wants/${BPN}@default.service | ||
101 | else | ||
102 | install -m 644 ${UNPACKDIR}/syslog-ng.conf.sysvinit ${D}${sysconfdir}/${BPN}/${BPN}.conf | ||
103 | fi | ||
104 | |||
105 | oe_multilib_header syslog-ng/syslog-ng-config.h | ||
106 | } | ||
107 | |||
108 | FILES:${PN} += "${datadir}/include/scl/ ${datadir}/xsd ${datadir}/tools ${systemd_unitdir}/system/multi-user.target.wants/*" | ||
109 | RDEPENDS:${PN} += "gawk ${@bb.utils.contains('PACKAGECONFIG','json','${PN}-jconf','',d)}" | ||
110 | |||
111 | FILES:${PN}-jconf += " \ | ||
112 | ${datadir}/${BPN}/include/scl/cim \ | ||
113 | ${datadir}/${BPN}/include/scl/elasticsearch \ | ||
114 | ${datadir}/${BPN}/include/scl/ewmm \ | ||
115 | ${datadir}/${BPN}/include/scl/graylog2 \ | ||
116 | ${datadir}/${BPN}/include/scl/loggly \ | ||
117 | ${datadir}/${BPN}/include/scl/logmatic \ | ||
118 | " | ||
119 | |||
120 | # This overcomes the syslog-ng rdepends on syslog-ng-dev QA Error | ||
121 | PACKAGES =+ "${PN}-jconf ${PN}-libs ${PN}-libs-dev" | ||
122 | RPROVIDES:${PN}-dbg += "${PN}-libs-dbg" | ||
123 | FILES:${PN}-libs = "${libdir}/${BPN}/*.so ${libdir}/libsyslog-ng-*.so*" | ||
124 | FILES:${PN}-libs-dev = "${libdir}/${BPN}/lib*.la" | ||
125 | FILES:${PN}-staticdev += "${libdir}/${BPN}/libtest/*.a" | ||
126 | FILES:${PN} += "${systemd_unitdir}/system/*.service" | ||
127 | INSANE_SKIP:${PN}-libs = "dev-so" | ||
128 | RDEPENDS:${PN} += "${PN}-libs" | ||
129 | |||
130 | CONFFILES:${PN} = "${sysconfdir}/${BPN}.conf ${sysconfdir}/scl.conf" | ||
131 | |||
132 | RCONFLICTS:${PN} = "busybox-syslog sysklogd rsyslog" | ||
133 | RCONFLICTS:${PN}-libs = "busybox-syslog sysklogd rsyslog" | ||
134 | |||
135 | RPROVIDES:${PN} += "${PN}-systemd" | ||
136 | RREPLACES:${PN} += "${PN}-systemd" | ||
137 | RCONFLICTS:${PN} += "${PN}-systemd" | ||
138 | SYSTEMD_SERVICE:${PN} = "${BPN}@.service" | ||
139 | |||
140 | INITSCRIPT_NAME = "syslog" | ||
141 | INITSCRIPT_PARAMS = "start 20 2 3 4 5 . stop 90 0 1 6 ." | ||
142 | |||
143 | # Fails only with 32bit MACHINEs | ||
144 | # http://errors.yoctoproject.org/Errors/Details/766956/ | ||
145 | # syslog-ng-4.6.0/modules/secure-logging/slog.c:937:63: error: passing argument 4 of 'g_io_channel_write_chars' from incompatible pointer type [-Wincompatible-pointer-types] | ||
146 | # syslog-ng-4.6.0/modules/secure-logging/slog.c:955:99: error: passing argument 5 of 'cmac' from incompatible pointer type [-Wincompatible-pointer-types] | ||
147 | # syslog-ng-4.6.0/modules/secure-logging/slog.c:959:74: error: passing argument 4 of 'g_io_channel_write_chars' from incompatible pointer type [-Wincompatible-pointer-types] | ||
148 | # syslog-ng-4.6.0/modules/secure-logging/slog.c:975:107: error: passing argument 4 of 'g_io_channel_write_chars' from incompatible pointer type [-Wincompatible-pointer-types] | ||
149 | CFLAGS += "-Wno-error=incompatible-pointer-types" | ||