aboutsummaryrefslogblamecommitdiffstats
path: root/main/syslog-ng/APKBUILD
blob: e669df69793c47bf389f2b3a8772e189c52c0aa5 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
                                                   
                                    
                                              
                                               

                                   
             
        

                                        
          
                          
                                                                                   
             
                

                    




                
                 


                          
                  


                   
                   
                      
         
                                                     




                            
                             
         
                                                                                                         


                          
         
 

                           
                   
                
                          
                
            


                        
                 








                                                             
           





                                               
                      

 
         




                                             
                               

                                   
                              
                                      
                                   
                               
                               

                                
                               
                                
                                






                                        
                                 


                                                
            

 
           
                                          




                                           


                                                                                






                                                                               
                                                     

 






                                                  

                   
 



                                          

                                           
 






                                                                                       

 








                                                                               
 




                                                           

 
                                                                                                                                                                     
                                                                                                                                                
                                                                                                                                                     
                                                                                                                                                  
# 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.22.1
pkgrel=2
pkgdesc="Next generation logging daemon"
url="http://www.balabit.com"
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
	geoip-dev
	glib-dev
	hiredis-dev
	ivykis-dev>=0.42.3
	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
	geoip:geoip-plugin
	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

	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="4f68c0b58c6b3df9a870fa0b627525b9599149374e805a665c5143be54f814a564a80cbe76c7d5aab093b58825a96411b13cd2ce0f1439298723bd008096807f  syslog-ng-3.22.1.tar.gz
3e844f70564325f7b356e6cb6310c72473aedc14f8be3c3c7eb262184c84523648d3ea1de1aa40489529c97343026481e790ad92dfbcdc410a94e734fd744fc0  syslog-ng.conf
1825b85fb584c5cecf0ad370e81a7473b5c973ce10adce386d1ba5f68432abe4e2f54c937d7d94edb22dbd9031eff483bd113bc3244ce0d0072cf4bf4ab5c2cc  syslog-ng.logrotate
873fef8815131f0acc618fa4911cd1eda59e260adc1eaae6eb91034900ce789f05ee48fa8afa4a87763026c18c87aef351e7ea76e0cbb46bcd5297f9ca14d527  syslog-ng.initd"