aboutsummaryrefslogtreecommitdiffstats
path: root/main/syslog-ng/APKBUILD
blob: 28bc2b39fb5168e2c24400597972319645febd54 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
# 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=4.6.0
pkgrel=1
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="
	bison
	curl-dev
	eventlog-dev
	file
	flex
	glib-dev
	hiredis-dev
	ivykis-dev
	json-c-dev
	libdbi-dev
	openssl-dev
	pcre2-dev
	py3-setuptools
	python3-dev
	rabbitmq-c-dev
	"
install="$pkgname.post-install $pkgname.post-upgrade"
subpackages="
	$pkgname-scl::noarch
	$pkgname-dev
	$pkgname-doc
	$pkgname-openrc
	$pkgname-python
	"
source="https://github.com/balabit/syslog-ng/releases/download/syslog-ng-$pkgver/syslog-ng-$pkgver.tar.gz
	pyversion.patch
	$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

build() {
	CFLAGS="$CFLAGS -flto=auto" \
	CXXFLAGS="$CXXFLAGS -flto=auto" \
	./configure \
		--prefix=/usr \
		--sysconfdir=/etc/syslog-ng \
		--localstatedir=/run \
		--enable-extra-warnings \
		--enable-ipv6 \
		--enable-manpages \
		\
		--disable-geoip2 \
		--disable-java \
		--disable-java-modules \
		--disable-linux-caps \
		--disable-mongodb \
		--disable-python-modules \
		--disable-riemann \
		--disable-smtp \
		--disable-systemd \
		--enable-amqp \
		--enable-geoip \
		--enable-http \
		--enable-json \
		--enable-native \
		--enable-python \
		--enable-rdrand \
		--enable-redis \
		--enable-sql \
		--enable-stomp \
		--with-ivykis=system \
		--with-jsonc=system \
		--with-librabbitmq-client=system \
		--with-python-packages=system
	make
}

package() {
	make -j1 DESTDIR="$pkgdir" install

	cd "$pkgdir"

	rm -r run

	# 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 usr/lib/$pkgname/libtfgetent.so

	# Remove static file
	rm 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"

	amove usr/share/syslog-ng/include/scl
}

dev() {
	default_dev

	amove \
		usr/share/syslog-ng/tools \
		usr/share/syslog-ng/xsd

	# this has to remain in main package
	mkdir -p "$pkgdir"/usr/share/syslog-ng/include/
	mv "$subpkgdir"/usr/share/syslog-ng/include/scl.conf \
		"$pkgdir"/usr/share/syslog-ng/include/
}

python() {
	pkgdesc="$pkgdesc (python module)"

	amove \
		usr/lib/syslog-ng/libmod-python.so \
		usr/lib/syslog-ng/python \
		etc/syslog-ng/python
}

_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"

	amove usr/lib/syslog-ng/$soname
}

sha512sums="
7c4fbf1ac5377240afa7a1db8d72772399d2c62657fffc3c59e82b2dea6f12031f02320c4f567f981311bd1d8bbfd98962aeb59720ca857867a51b6bf83afb4b  syslog-ng-4.6.0.tar.gz
8faa3a07c1341c8c886703cd87a7a96dfb325687b8fb530a41f1cb5026f47ea4a55ca57d23487ab61b5a50bfc414ac2a55ef1a696332aa2f14c07f1ea7b4c10c  pyversion.patch
06f79f7350d08c968a2b2b8e0511857a35b784bf6e8e4ba047d0ff24ad0e05f0f0915af049b10deb4ae8c9be788f3824f3818e350e07796ceed93e144838c6a5  syslog-ng.conf
6b6c628f38bf82a47c38d4cdc1e04cf4cf604cca5b191bea6251a2977162a6da509e92690b7d6e7019d4dbb315fb30eb9531023caf7583d9e9abf24c28e1d06c  syslog-ng.logrotate
873fef8815131f0acc618fa4911cd1eda59e260adc1eaae6eb91034900ce789f05ee48fa8afa4a87763026c18c87aef351e7ea76e0cbb46bcd5297f9ca14d527  syslog-ng.initd
"