aboutsummaryrefslogblamecommitdiffstats
path: root/community/rspamd/APKBUILD
blob: 56b7d5650bc813a6e21ea9e118285a130a5dbc79 (plain) (tree)
1
2
3
4
5
6
7
8
9

                                                      
                                                        
                                   
              
            
        
                                                          
                        
                               
             


                  


                                                               
                              
                                                                
                                                          
                              
         
                                                                                            

                           
                      
                        
                      
         
                                   
 

                    
                       

                      
                                                               


                                                                                

                                                  

                                                                          
                                                                         
                                


                                                      

 
         
                      

                                             
                                         
                                        
                                         
                                           

                                    
                                     

                                         

                                     


           
                      
                                      
 
                                                 
                                                 
 
                                                      
                                                  
                                                 
                                             
                                                 
                                             
 
                                                
                                                  
                                    

                                                          
 

                                              
                                             
                                         
                                               
                                          
 
                                         
                                       


                                                              

 

                                           
                                     






                                             
                                     
                                               
                                                     
                                                                       

 


                                                
                                                    
                                                  
                                         

                                                     

 




                                                     
                                         
                                             
                                               

                                                       

 
         
                          
                                           
                                          



                                                  
                                                                                                                                                                 
                                                                                                                                                   

                                                                                                                                              
                                                                                                                                                  
                                                                                                                                                 
# Maintainer: Valery Kartel <valery.kartel@gmail.com>
# Contributor: Valery Kartel <valery.kartel@gmail.com>
# Contributor: Nathan Angelacos <nangel@alpinelinux.org>
# Contributor: TBK <alpine@jjtc.eu>
pkgname=rspamd
pkgver=1.6.5
pkgrel=1
pkgdesc="Fast, free and open-source spam filtering system"
url="https://rspamd.com"
arch="x86_64 x86 armhf ppc64le"
license="BSD"
options="!check"
pkgusers=$pkgname
pkggroups=$pkgname
makedepends="cmake ragel perl lua-dev glib-dev pcre-dev icu-dev
	libevent-dev sqlite-dev libressl-dev file-dev curl-dev
	gd-dev fann-dev"
install="$pkgname.pre-install"
subpackages="$pkgname-doc $pkgname-client $pkgname-utils::noarch
	$pkgname-controller::noarch $pkgname-fuzzy::noarch
	$pkgname-proxy::noarch
	"
source="$pkgname-$pkgver.tar.gz::https://github.com/vstakhov/$pkgname/archive/$pkgver.tar.gz
	$pkgname.logrotated
	$pkgname.initd
	$pkgname.confd
	cmakelists.patch
	worker.conf.in
	"
builddir="$srcdir/$pkgname-$pkgver"

prepare() {
	local worker
	default_prepare

	cd "$builddir"
	for worker in proxy:2 normal:3 controller:4 fuzzy:5; do
		sed -e "s/@name@/${worker%:*}/g" -e "s/@port@/${worker#*:}/g" \
			"$srcdir"/worker.conf.in > conf/worker-${worker%:*}.conf
	done
	sed -ri -e 's/worker /&"rspamd_proxy" /' \
		conf/worker-proxy.conf
	sed "$(grep -n -m1 'worker {' conf/rspamd.conf|cut -d: -f1),\$d" \
		 -i conf/rspamd.conf && \
		 echo '.include(glob=true) "$CONFDIR/worker-*.conf"' >> \
		conf/rspamd.conf
	sed -ri -e 's~DBDIR(/rspamd.sock)~RUNDIR\1~' \
		-e 's~rspamd_dynamic~dynamic~' \
		conf/options.inc
}

build() {
	cd "$builddir"
	cmake CMakeLists.txt \
		-DCMAKE_INSTALL_PREFIX=/usr \
		-DCONFDIR=/etc/$pkgname \
		-DRUNDIR=/run/$pkgname \
		-DRSPAMD_USER=$pkgusers \
		-DRSPAMD_GROUP=$pkggroups \
		-DENABLE_DB=ON \
		-DENABLE_SQLITE=ON \
		-DENABLE_HIREDIS=ON \
		-DENABLE_REDIRECTOR=ON \
		-DENABLE_URL_INCLUDE=ON \
		-DINSTALL_EXAMPLES=ON
	make
}

package() {
	cd "$builddir"
	make DESTDIR="$pkgdir" install

	mkdir -p "$pkgdir"/etc/$pkgname/local.d \
		"$pkgdir"/etc/$pkgname/override.d

	install -Dm644 "$srcdir"/$pkgname.logrotated \
		"$pkgdir"/etc/logrotate.d/$pkgname
	install -Dm755 "$srcdir"/$pkgname.initd \
		"$pkgdir"/etc/init.d/$pkgname
	install -Dm644 "$srcdir"/$pkgname.confd \
		"$pkgdir"/etc/conf.d/$pkgname

	install -dm750 -o $pkgname -g $pkgname \
		"$pkgdir"/var/lib/$pkgname/dynamic
	install -dm750 -g $pkgname \
		"$pkgdir"/var/log/$pkgname
	chown $pkgname:$pkgname "$pkgdir"/var/lib/$pkgname

	mkdir "$pkgdir"/usr/sbin
	find "$pkgdir"/usr/bin -type l -delete
	mv "$pkgdir"/usr/bin/rspamd-$pkgver \
		"$pkgdir"/usr/sbin/rspamd
	mv "$pkgdir"/usr/bin/rspamadm-$pkgver \
		"$pkgdir"/usr/bin/rspamadm

	mv "$pkgdir"/usr/share/examples \
		"$pkgdir"/usr/share/doc
	mv "$pkgdir"/usr/share/$pkgname/www/README.md \
		"$pkgdir"/usr/share/$pkgname/www/plugins.txt \
		"$pkgdir"/usr/share/doc/$pkgname
}

client() {
	pkgdesc="$pkgdesc (console client)"
	mkdir -p "$subpkgdir"/usr/bin
	mv "$pkgdir"/usr/bin/rspamc-$pkgver \
		"$subpkgdir"/usr/bin/rspamc
}

utils() {
	depends="perl"
	pkgdesc="$pkgdesc (utilities)"
	mkdir -p "$subpkgdir"/usr/bin
	mv "$pkgdir"/usr/bin/${pkgname}_stats \
		"$subpkgdir"/usr/bin/${pkgname}-stats
	mv "$pkgdir"/usr/bin/${pkgname}-redirector "$subpkgdir"/usr/bin
}

fuzzy() {
	depends="$pkgname"
	pkgdesc="$pkgdesc (local fuzzy storage)"
	mkdir -p "$subpkgdir"/etc/$pkgname/modules.d
	mv "$pkgdir"/etc/$pkgname/worker-fuzzy.* \
		"$subpkgdir"/etc/$pkgname
	mv "$pkgdir"/etc/$pkgname/modules.d/fuzzy_* \
		"$subpkgdir"/etc/$pkgname/modules.d
}

controller() {
	license="MIT"
	depends="$pkgname"
	pkgdesc="$pkgdesc (controller web interface)"
	mkdir -p "$subpkgdir"/usr/share/$pkgname \
		"$subpkgdir"/etc/$pkgname
	mv "$pkgdir"/usr/share/$pkgname/www \
		"$subpkgdir"/usr/share/$pkgname
	mv "$pkgdir"/etc/$pkgname/worker-controller.* \
		"$subpkgdir"/etc/$pkgname
}

proxy() {
	depends="$pkgname"
	pkgdesc="$pkgdesc (milter support)"
	mkdir -p "$subpkgdir"/etc/$pkgname
	mv "$pkgdir"/etc/$pkgname/worker-proxy.* \
		"$subpkgdir"/etc/$pkgname
}

sha512sums="789abc994cf96a0d88662e14f0e77f95f5c7c7bd1f808ffd64af21cf73cef643b5aee4c1f066d81d04e79d6bb7f72f12095ff08d8515a40bcca23153715fc9f1  rspamd-1.6.5.tar.gz
2efe28575c40d1fba84b189bb872860e744400db80dce2f6330be6c6287fb3f46e6511284729b957488bf40bcb9b0952e26df9934f5f138334bd2766075c45cb  rspamd.logrotated
df37726d03e676b16d707854d95bafc9162da65c27bb150edbfc0cb00f1842188a1f2a8f1b82be5ae2a253b4f4db4d93dfe804a89feb988b5af858eb3f3458be  rspamd.initd
e417dd825d1b4d03d115db037b2fdf2f48a35420ee7a9010d97167b6c31e88d6c0a15dd33b21d7d76856db0fdc5097c922fcdf1d8164d1e92ae377f7c5303947  rspamd.confd
ae4b7e77a29bed5461088e5e9bd20941a578e899300b079b05900e355b5de1ba077fb33ae5533587f0748647bd2c7ee70aa53dd981899612eafac2203ae95883  cmakelists.patch
2169a8c4b4af6df9f3bbf4addeac564c9485a9d6a30fd15cf167093488362791c003a0d03360049c43d827e7fa767c1ad3522de6699b0247b75aa049c0b51214  worker.conf.in"