blob: f1bf9b06f65ca32a47dda81d8e957b32ed72ce60 [file] [log] [blame]
Patrick Williamsb48b7b42016-08-17 15:04:38 -05001SUMMARY = "Alternative system logger daemon"
2DESCRIPTION = "syslog-ng, as the name shows, is a syslogd replacement, \
3but with new functionality for the new generation. The original syslogd \
4allows messages only to be sorted based on priority/facility pairs; \
5syslog-ng adds the possibility to filter based on message contents using \
6regular expressions. The new configuration scheme is intuitive and powerful. \
7Forwarding logs over TCP and remembering all forwarding hops makes it \
8ideal for firewalled environments. \
9"
10HOMEPAGE = "http://www.balabit.com/network-security/syslog-ng/opensource-logging-system"
11
12LICENSE = "GPLv2 & LGPLv2.1"
Brad Bishop6e60e8b2018-02-01 10:27:11 -050013LIC_FILES_CHKSUM = "file://COPYING;md5=24c0c5cb2c83d9f2ab725481e4df5240"
Patrick Williamsb48b7b42016-08-17 15:04:38 -050014
15# util-linux added to get libuuid
Brad Bishop6e60e8b2018-02-01 10:27:11 -050016DEPENDS = "libpcre flex eventlog glib-2.0 openssl util-linux"
Patrick Williamsb48b7b42016-08-17 15:04:38 -050017
Brad Bishop6e60e8b2018-02-01 10:27:11 -050018SRC_URI = "https://github.com/balabit/syslog-ng/releases/download/${BP}/${BP}.tar.gz \
Patrick Williamsb48b7b42016-08-17 15:04:38 -050019 file://syslog-ng.conf \
20 file://initscript \
21 file://volatiles.03_syslog-ng \
22 file://configure.ac-add-option-enable-thread-tls-to-manage-.patch \
23"
24
Brad Bishop6e60e8b2018-02-01 10:27:11 -050025inherit autotools gettext systemd pkgconfig update-rc.d
Patrick Williamsb48b7b42016-08-17 15:04:38 -050026
27EXTRA_OECONF = " \
28 --enable-dynamic-linking \
29 --disable-sub-streams \
30 --disable-pacct \
31 --localstatedir=${localstatedir}/lib/${BPN} \
32 --sysconfdir=${sysconfdir}/${BPN} \
33 --with-module-dir=${libdir}/${BPN} \
34 --with-sysroot=${STAGING_DIR_HOST} \
Brad Bishop6e60e8b2018-02-01 10:27:11 -050035 --without-mongoc --disable-mongodb \
Patrick Williamsb48b7b42016-08-17 15:04:38 -050036 --with-librabbitmq-client=no \
Brad Bishop6e60e8b2018-02-01 10:27:11 -050037 --disable-python \
38 --disable-java --disable-java-modules \
Brad Bishopd7bf8c12018-02-25 22:55:05 -050039 --with-pidfile-dir=${localstatedir}/run/${BPN} \
Patrick Williamsb48b7b42016-08-17 15:04:38 -050040 ${CONFIG_TLS} \
41"
42
43CONFIG_TLS = "--enable-thread-tls"
44CONFIG_TLS_arm = "${@base_conditional( "DEBUG_BUILD", "1", " --disable-thread-tls", " --enable-thread-tls", d )}"
45
Brad Bishop6e60e8b2018-02-01 10:27:11 -050046PACKAGECONFIG ??= " \
47 ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6 systemd', d)} \
Patrick Williamsb48b7b42016-08-17 15:04:38 -050048"
Patrick Williamsb48b7b42016-08-17 15:04:38 -050049PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,,"
50PACKAGECONFIG[systemd] = "--enable-systemd --with-systemdsystemunitdir=${systemd_unitdir}/system/,--disable-systemd --without-systemdsystemunitdir,systemd,"
51PACKAGECONFIG[linux-caps] = "--enable-linux-caps,--disable-linux-caps,libcap,"
Patrick Williamsb48b7b42016-08-17 15:04:38 -050052PACKAGECONFIG[dbi] = "--enable-sql,--disable-sql,libdbi,"
53PACKAGECONFIG[libnet] = "--enable-libnet --with-libnet=${STAGING_BINDIR_CROSS},--disable-libnet,libnet,"
Brad Bishop6e60e8b2018-02-01 10:27:11 -050054PACKAGECONFIG[http] = "--enable-http,--disable-http,curl,"
Patrick Williamsb48b7b42016-08-17 15:04:38 -050055PACKAGECONFIG[smtp] = "--enable-smtp --with-libesmtp=${STAGING_LIBDIR},--disable-smtp,libesmtp,"
56PACKAGECONFIG[json] = "--enable-json,--disable-json,json-c,"
57PACKAGECONFIG[tcp-wrapper] = "--enable-tcp-wrapper,--disable-tcp-wrapper,tcp-wrappers,"
58PACKAGECONFIG[geoip] = "--enable-geoip,--disable-geoip,geoip,"
Brad Bishop6e60e8b2018-02-01 10:27:11 -050059PACKAGECONFIG[native] = "--enable-native,--disable-native,,"
Patrick Williamsb48b7b42016-08-17 15:04:38 -050060
61do_configure_prepend() {
Brad Bishop6e60e8b2018-02-01 10:27:11 -050062 olddir=$(pwd)
63 cd ${AUTOTOOLS_SCRIPT_PATH}
64
65 ACLOCAL="$ACLOCAL" autoreconf -Wcross --verbose --install --force ${EXTRA_AUTORECONF} -I ${S}/m4 ${ACLOCALEXTRAPATH} || die "extra autoreconf execution failed."
66
67 cd $olddir
Patrick Williamsb48b7b42016-08-17 15:04:38 -050068}
69
Patrick Williamsddad1a12017-02-23 20:36:32 -060070do_install_prepend() {
71 sed -i -e 's,@SBINDIR@,${sbindir},g' ${S}/contrib/systemd/*.service
72 sed -i -e 's,@LOCALSTATEDIR@,${localstatedir},g' ${S}/contrib/systemd/*.service
73 sed -i -e 's,@BASEBINDIR@,${base_bindir},g' ${S}/contrib/systemd/*.service
74}
75
Patrick Williamsb48b7b42016-08-17 15:04:38 -050076do_install_append() {
77 install -d ${D}/${sysconfdir}/${BPN}
78 install ${WORKDIR}/syslog-ng.conf ${D}${sysconfdir}/${BPN}/${BPN}.conf
79 install -d ${D}/${sysconfdir}/init.d
Brad Bishop6e60e8b2018-02-01 10:27:11 -050080 install -m 755 ${WORKDIR}/initscript ${D}/${sysconfdir}/init.d/syslog
Patrick Williamsb48b7b42016-08-17 15:04:38 -050081 install -d ${D}/${sysconfdir}/default/volatiles/
82 install -m 755 ${WORKDIR}/volatiles.03_syslog-ng ${D}/${sysconfdir}/default/volatiles/03_syslog-ng
83 install -d ${D}/${localstatedir}/lib/${BPN}
84 # Remove /var/run as it is created on startup
85 rm -rf ${D}${localstatedir}/run
Patrick Williamsb48b7b42016-08-17 15:04:38 -050086}
87
88FILES_${PN} += "${datadir}/include/scl/ ${datadir}/xsd ${datadir}/tools"
89RDEPENDS_${PN} += "gawk"
90
91# This overcomes the syslog-ng rdepends on syslog-ng-dev QA Error
92PACKAGES =+ "${PN}-libs ${PN}-libs-dev ${PN}-libs-dbg"
93FILES_${PN}-libs = "${libdir}/${BPN}/*.so ${libdir}/libsyslog-ng-*.so*"
94FILES_${PN}-libs-dev = "${libdir}/${BPN}/lib*.la"
95FILES_${PN}-libs-dbg = "${libdir}/${BPN}/.debug"
Brad Bishop6e60e8b2018-02-01 10:27:11 -050096FILES_${PN}-staticdev += "${libdir}/${BPN}/libtest/*.a"
Patrick Williamsb48b7b42016-08-17 15:04:38 -050097INSANE_SKIP_${PN}-libs = "dev-so"
98RDEPENDS_${PN} += "${PN}-libs"
99
100CONFFILES_${PN} = "${sysconfdir}/${BPN}.conf ${sysconfdir}/scl.conf"
101
102# syslog initscript is handled explicitly because order of
103# update-rc.d and update-alternatives is important
104RDEPENDS_${PN} += " ${@base_conditional("ONLINE_PACKAGE_MANAGEMENT", "none", "", "update-rc.d", d)}"
105
Brad Bishop6e60e8b2018-02-01 10:27:11 -0500106RCONFLICTS_${PN} = "busybox-syslog sysklogd rsyslog"
107
Patrick Williamsb48b7b42016-08-17 15:04:38 -0500108RPROVIDES_${PN} += "${PN}-systemd"
109RREPLACES_${PN} += "${PN}-systemd"
110RCONFLICTS_${PN} += "${PN}-systemd"
111SYSTEMD_SERVICE_${PN} = "${BPN}.service"
112
Patrick Williamsb48b7b42016-08-17 15:04:38 -0500113INITSCRIPT_NAME = "syslog"
114INITSCRIPT_PARAMS = "start 20 2 3 4 5 . stop 90 0 1 6 ."