package.mk/wip/syslog-ng/APKBUILD

179 lines
4.2 KiB
Plaintext

# Contributor: Michael Pirogov <vbnet.ru@gmail.com>
# Contributor: jv <jens@eisfair.org>
# Contributor: Adrian Guenter <adrian@gntr.me>
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Maintainer: jv <jens@eisfair.org>
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"