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

                                              
             
        
                                       
                               
          
                          

              
                         
                                                     
                                                                  

                                                           
                              
                                                        
                                          
                                            
                                          
                                        
                                                       
                                            
                                            
                                          
                                          



                                                 

                
                                                                        
                      
                     
                                               

                     
                                   
 
           

                      


                      

                     


                      


                      
         
                      
 
                                   
                                              


                                           
                                              
                                   


                                                                                                               

                                

 




                                      
           

                      
                                      
 





                                                            

                                                                                             

 













                                                                      
 
            
                        
             
 


                                                      






                             


                                                                

 



                                                    
                                                                    











                                                                 
                                                                                                                                                                 
                                                                                                                                            
                                                                                                                                           
                                                                                                                                                                         
                                                                                                                                                
# Contributor: Łukasz Jendrysik <scadu@yandex.com>
# Contributor: Matt Smith <mcs@darkregion.net>
# Contributor: Olivier Mauras <olivier@mauras.ch>
# Contributor: Daniel Isaksen <d@duniel.no>
# Contributor: Fabian Zoske <fabian@zoske.it>
# Maintainer:  Matt Smith <mcs@darkregion.net>
pkgname=pdns
pkgver=4.1.11
pkgrel=0
pkgdesc="PowerDNS Authoritative Server"
url="https://www.powerdns.com/"
arch="all"
license="GPL-2.0-or-later"
depends=""
depends_dev=""
makedepends="$depends_dev
	boost-dev curl geoip-dev krb5-dev openssl-dev
	libsodium-dev lua-dev mariadb-connector-c-dev openldap-dev
	postgresql-dev protobuf-dev sqlite-dev unixodbc-dev
	yaml-cpp-dev"
install="$pkgname.pre-install"
subpackages="$pkgname-doc $pkgname-openrc $pkgname-tools
	$pkgname-backend-bind:backend_bind
	$pkgname-backend-geoip:backend_geoip
	$pkgname-backend-ldap:backend_ldap
	$pkgname-backend-lua:backend_lua
	$pkgname-backend-mariadb:backend_mariadb:noarch
	$pkgname-backend-mydns:backend_mydns
	$pkgname-backend-mysql:backend_mysql
	$pkgname-backend-odbc:backend_odbc
	$pkgname-backend-pipe:backend_pipe
	$pkgname-backend-pgsql:backend_pgsql
	$pkgname-backend-random:backend_random
	$pkgname-backend-remote:backend_remote
	$pkgname-backend-sqlite3:backend_sqlite3"
pkgusers="pdns"
pkggroups="pdns"
source="https://downloads.powerdns.com/releases/$pkgname-$pkgver.tar.bz2
	$pkgname.initd
	$pkgname.conf
	4.1.10_to_4.1.11.schema.pgsql.sql.patch
	README.alpine
	"
builddir="$srcdir/$pkgname-$pkgver"

# secfixes:
#   4.1.11-r0:
#     - CVE-2019-10203
#   4.1.10-r0:
#     - CVE-2019-10163
#     - CVE-2019-10162
#   4.1.7-r0:
#     - CVE-2019-3871
#   4.1.5-r0:
#     - CVE-2018-10851
#     - CVE-2018-14626
#   4.0.5-r0:
#     - CVE-2017-15091

build() {
	cd "$builddir"

	./configure --prefix=/usr \
		--sysconfdir="/etc/$pkgname" \
		--mandir=/usr/share/man \
		--infodir=/usr/share/info \
		--localstatedir=/var \
		--libdir="/usr/lib/$pkgname" \
		--with-modules="" \
		--with-dynmodules="bind geoip ldap lua mydns gmysql godbc pipe gpgsql random remote gsqlite3" \
		--enable-tools \
		--enable-unit-tests \
		--disable-static
	make
}

check() {
	cd "$builddir"
	PDNS_TEST_NO_IPV6=1 make check
}

package() {
	cd "$builddir"

	make DESTDIR="$pkgdir" install

	install -m755 -D "$srcdir/$pkgname.initd" \
		"$pkgdir/etc/init.d/$pkgname"
	rm "$pkgdir/etc/$pkgname/$pkgname.conf-dist"
	install -m600 -D "$srcdir/$pkgname.conf" \
		"$pkgdir/etc/$pkgname/$pkgname.conf"
	chown pdns:pdns "$pkgdir/etc/$pkgname/$pkgname.conf"

	install -Dm644 "$srcdir"/README.alpine "$pkgdir"/usr/share/doc/$pkgname/README.alpine
}

tools() {
	_tool_names="zone2ldap zone2sql zone2json
		dnsgram dnsreplay dnsscan dnsscope dnswasher dumresp
		pdns_notify nproxy nsec3dig saxfr stubquery ixplore
		sdig calidns dnsbulktest dnstcpbench dnspcap2protobuf"

	mkdir -p "$subpkgdir"
	cd "$subpkgdir"

	mkdir -p "$subpkgdir/usr/bin"
	for _tool in $_tool_names; do
		mv "$pkgdir/usr/bin/$_tool" "$subpkgdir/usr/bin/"
	done; unset -v _tool
}

_backend() {
	local backend=$1
	shift

	pkgdesc="$backend backend module for PowerDNS"
	depends="$pkgname $*"

	mkdir -p "$subpkgdir"
}

_mv_backend() {
	local backend=$1
	_backend "$@"

	mkdir -p "$subpkgdir/usr/lib/pdns/pdns"
	mv "$pkgdir/usr/lib/pdns/pdns/lib${backend}backend.so" \
		"$subpkgdir/usr/lib/pdns/pdns/"
}

backend_bind()          { _mv_backend bind; }
backend_geoip()         { _mv_backend geoip geoip; }
backend_ldap()          { _mv_backend ldap; }
backend_lua()           { _mv_backend lua lua; }
backend_mariadb()       { _backend mariadb $pkgname-backend-mysql; }
backend_mydns()         { _mv_backend mydns; }
backend_mysql()         { _mv_backend gmysql mariadb-client; }
backend_odbc()          { _mv_backend godbc unixodbc; }
#backend_opendbx()       { _mv_backend opendbx; }
#backend_oracle()        { _mv_backend goracle; }
backend_pipe()          { _mv_backend pipe; }
backend_pgsql()         { _mv_backend gpgsql postgresql-client; }
backend_random()        { _mv_backend random; }
backend_remote()        { _mv_backend remote; }
backend_sqlite3()       { _mv_backend gsqlite3 sqlite; }
#backend_tinydns()       { _mv_backend tinydns; }

sha512sums="18215f523a39d48c8756bc13ecae1bd78967c2d66619d93ddaafb13062690002a9bdfe1d337796820706692c449286c7b9e9b8d45933684d32acbc20e490c0c4  pdns-4.1.11.tar.bz2
3a55547e1b6407e7d2faa6e02982ed903c2364381af1b7eeb626ae3a8b0e32558dd79bf31c982b134414e5636d4868c1f3660ac523f25d2440ed6f7b436843bf  pdns.initd
3f809f3257680c3e496fa6a4c86c8a636db5d9d5b92aef96fe54c29b8266ee590deb792d13205cc171e27307fa73295dd3b101b09102fd66a2393a7cdbf9dd27  pdns.conf
a3caac012fae6d53afa9d08eaf4d2e70b406197e586b6716e0a9177d3833165493a55bf119669fd29c4397a8230a33982e38ef0b5a6883d71ee8869c06f0fe22  4.1.10_to_4.1.11.schema.pgsql.sql.patch
f2781a23e14bea9b4bbb84f3b596663c76359c449ef6fd39c87b5ea1163c47e01c5ba490c804709033598f0542ac558bde477729ad1ab9f17d49606fa61b2049  README.alpine"