# Contributor: Michael Pirogov # Contributor: jv # Contributor: Adrian Guenter # Contributor: Jakub Jirutka # Maintainer: jv pkgname=syslog-ng pkgver=3.30.1 pkgrel=0 pkgdesc="Next generation logging daemon" url="https://www.syslog-ng.com/products/open-source-log-management/" arch="all" license="GPL-2.0-or-later" options="!check" # unit tests require https://github.com/Snaipe/Criterion with deps makedepends=" curl-dev eventlog-dev file bison flex autoconf automake libtool glib-dev hiredis-dev ivykis-dev>=0.42.4 libdbi-dev json-c-dev openssl-dev pcre-dev python3-dev rabbitmq-c-dev " install="$pkgname.post-install $pkgname.post-upgrade" subpackages=" $pkgname-scl::noarch $pkgname-dev $pkgname-doc $pkgname-openrc py3-$pkgname:_python3 " source="https://github.com/balabit/syslog-ng/releases/download/syslog-ng-$pkgver/syslog-ng-$pkgver.tar.gz $pkgname.conf $pkgname.logrotate $pkgname.initd " _modules=" add-contextual-data amqp:afamqp examples graphite http json:json-plugin map-value-pairs redis sql:afsql stardate stomp:afstomp tags-parser xml " for _i in $_modules; do subpackages="$subpackages $pkgname-${_i%%:*}:_module" done prepare() { default_prepare # Remove bundled libraries rm -rf lib/ivykis rm -rf modules/afamqp/rabbitmq-c rm -rf modules/afmongodb/mongo-c-driver autoreconf -if } build() { ./configure \ --prefix=/usr \ --sysconfdir=/etc/syslog-ng \ --localstatedir=/run \ --enable-extra-warnings \ --enable-ipv6 \ --enable-manpages \ \ --enable-sql \ --disable-linux-caps \ --disable-mongodb \ --enable-json \ --enable-amqp \ --enable-stomp \ --disable-smtp \ --enable-http \ --enable-redis \ --enable-geoip \ --disable-geoip2 \ --disable-riemann \ --disable-systemd \ --enable-python \ --disable-java \ --disable-java-modules \ --enable-native \ --enable-rdrand \ --with-ivykis=system \ --with-jsonc=system \ --with-librabbitmq-client=system make } package() { make -j1 DESTDIR="$pkgdir" install cd "$pkgdir" rm -rf run usr/lib/$pkgname/libtest # getent module doesn't build properly as musl doesn't support reentrant # getprotoby[number|name] funcs. The provided compat lib only patches # solaris, which does provide reentrant versions under a different sig rm -f usr/lib/$pkgname/libtfgetent.so # Remove static file rm -f usr/lib/libsyslog-ng-native-connector.a install -m 644 "$srcdir"/$pkgname.conf etc/$pkgname/$pkgname.conf install -D -m 755 "$srcdir"/$pkgname.initd etc/init.d/$pkgname install -D -m 644 "$srcdir"/$pkgname.logrotate etc/logrotate.d/$pkgname install -d -m 755 etc/$pkgname/conf.d install -d -m 700 "$pkgdir"/var/lib/syslog-ng } scl() { pkgdesc="$pkgdesc (configuration library)" depends="$pkgname=$pkgver-r$pkgrel" _submv usr/share/syslog-ng/include/scl } dev() { default_dev _submv usr/share/syslog-ng/tools \ usr/share/syslog-ng/xsd } _python3() { pkgdesc="$pkgdesc (python3 module)" _submv usr/lib/syslog-ng/libmod-python.so local site_pkgs="$(python3 -c 'import site; print(site.getsitepackages()[0])')" mkdir -p "$subpkgdir"/"$site_pkgs" mv "$pkgdir"/usr/lib/syslog-ng/python/* \ "$subpkgdir"/"$site_pkgs" } _module() { local name="${subpkgname#$pkgname-}" pkgdesc="$pkgdesc (${name//-/ } module)" local libname=$(printf '%s\n' $_modules | grep "^$name:" | cut -d: -f2) local soname="lib${libname:-$name}.so" _submv usr/lib/syslog-ng/$soname } _submv() { local path; for path in "$@"; do mkdir -p "$subpkgdir/${path%/*}" mv "$pkgdir"/$path "$subpkgdir"/${path%/*}/ done } sha512sums="ac7ed4978c6db9464add30aa7aeb71a646f841593b02884c8d4ad34c0508c8d3243bcbe6ee98e81c04698895305334eadd9e624ba71e510c14d79155723efb52 syslog-ng-3.30.1.tar.gz 3fcdf42da3bd6ac4352925c686d07958b37780cd58de8c3c73835a442ffec51a0488390611bac011239b4e94f42c216ca178ba4b1b498bc0105c06cbaf8252f4 syslog-ng.conf 1825b85fb584c5cecf0ad370e81a7473b5c973ce10adce386d1ba5f68432abe4e2f54c937d7d94edb22dbd9031eff483bd113bc3244ce0d0072cf4bf4ab5c2cc syslog-ng.logrotate 873fef8815131f0acc618fa4911cd1eda59e260adc1eaae6eb91034900ce789f05ee48fa8afa4a87763026c18c87aef351e7ea76e0cbb46bcd5297f9ca14d527 syslog-ng.initd"