# Maintainer: Steve Holweg # Contributor: Baptiste Jonglez # Contributor: Jakub Jirutka pkgname=kea pkgver=1.7.2 pkgrel=2 pkgdesc="DHCPv4, DHCPv6 and DDNS server from ISC" url="http://kea.isc.org" arch="all !armhf !armv7" license="MPL2" depends="" checkdepends="procps" makedepends="botan-dev libcap log4cplus-dev boost-dev postgresql-dev mariadb-dev python3-dev" pkgusers="kea" pkggroups="kea" install="$pkgname.pre-install" subpackages=" $pkgname-doc $pkgname-static $pkgname-dev $pkgname-admin::noarch $pkgname-ctrl-agent:ctrlagent $pkgname-dhcp-ddns:dhcpddns $pkgname-dhcp4 $pkgname-dhcp6 $pkgname-hooks $pkgname-http $pkgname-keactrl::noarch $pkgname-shell::noarch $pkgname-utils " source="https://ftp.isc.org/isc/$pkgname/$pkgver/$pkgname-$pkgver.tar.gz disable-db-tests.patch logs-location.patch use-runstatedir-for-pid-file-location.patch put-LOCKFILE_DIR-to-runstatedir.patch kea.initd.in " validpgpkeys="BE0E9748B718253A28BB89FFF1B11BF05CF02E57" # Internet Systems Consortium, Inc. (Signing key, 2017-2018) prepare() { default_prepare # Remove the builddir path from the scripts to satisfy abuild checks. # NOTE: There's a new script each release, so using patch file would be # very inconvenient. find src/share/database/scripts/ \ -name '*.sh.in' \ -exec sed -i 's|^\s*. @abs_top_builddir@/src/bin/admin/admin-utils.sh.*|echo "admin-utils.sh not found!"; exit 1|' {} \; } build() { # Complete build for dev and doc ./configure \ --build=$CBUILD \ --host=$CHOST \ --prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var \ --libexecdir=/usr/lib \ --runstatedir=/run \ --with-mysql \ --with-pgsql \ --enable-shell make } check() { make check } package() { make DESTDIR="$pkgdir" install cd "$pkgdir" # Allow kea to run under unpriviliged user. local name; for name in kea-dhcp-ddns kea-dhcp4 kea-dhcp6; do setcap 'cap_net_bind_service=+ep' ./usr/sbin/$name done setcap 'cap_net_raw=+ep' ./usr/sbin/kea-dhcp6 install -d -m 0750 -o kea -g kea \ "$pkgdir"/var/log/kea \ "$pkgdir"/var/lib/kea rm -Rf ./run } admin() { pkgdesc="$pkgdesc (Databases administration tools)" depends="$pkgname=$pkgver-r$pkgrel" amove ./usr/sbin/kea-admin amove ./usr/share/kea/ } ctrlagent() { pkgdesc="$pkgdesc (Control Agent with RESTful API)" amove usr/sbin/kea-ctrl-agent amove ./etc/kea/kea-ctrl-agent.conf _install_initd kea-ctrl-agent } dhcpddns() { pkgdesc="$pkgdesc (DDNS Server)" amove ./usr/sbin/kea-dhcp-ddns amove ./etc/kea/kea-dhcp-ddns.conf amove ./usr/lib/libkea-asiodns.so.* _install_initd kea-dhcp-ddns } dhcp4() { pkgdesc="$pkgdesc (DHCP4 Server)" amove ./usr/sbin/kea-dhcp4 amove ./etc/kea/kea-dhcp4.conf _install_initd kea-dhcp4 } dhcp6() { pkgdesc="$pkgdesc (DHCP6 Server)" amove ./usr/sbin/kea-dhcp6 amove ./etc/kea/kea-dhcp6.conf _install_initd kea-dhcp6 } hooks() { pkgdesc="$pkgdesc (hooks libraries)" amove ./usr/lib/kea/hooks/ } # Needed only by ctrl-agent and hooks. http() { amove ./usr/lib/libkea-http.so* } keactrl() { pkgdesc="$pkgdesc (Kea process manager)" amove ./usr/sbin/keactrl amove ./etc/kea/keactrl.conf } shell() { pkgdesc="$pkgdesc (Text client for Control Agent)" depends="python3" amove ./usr/sbin/kea-shell amove ./usr/lib/python3* } utils() { pkgdesc="$pkgdesc (Optional Utils)" amove ./usr/sbin/kea-lfc } _install_initd() { local name="$1" install -Dm755 "$srcdir"/kea.initd.in "$subpkgdir"/etc/init.d/$name sed -i "s|@@NAME@@|$name|g" "$subpkgdir"/etc/init.d/$name } sha512sums="f84bed2e1dacd172c7aed8e4d6c11ec5e79f37ad2c7991963fc9c4a1761668f9f0e105ba5c4deed06264ab2ec13b1b5787350d823de12fd3782223192e3653f2 kea-1.7.2.tar.gz 55780bbcbd79b81d55bdccd46da6ca6babe8b7894aa82948308dc4f8a0e2b5d33fad633276696c8ba7bd063026bb11ae529a096375d0572833c66e2132888775 disable-db-tests.patch 4336bb6708d51729065da4dd3a3e96bbcbac7716b4bbde360af3c4599719c2fa9362055ae6c00043e7581f2f4af5a51d24f2e8cfaabefdb1f4d545c24af33f94 logs-location.patch 574b4aacef03c2d4a556b4ff8b152b66efd6fdc27ad09373d41c72df15f8a2cd2386e0bbe7e07f1370d9cd11e0954fc679f3d57e6b647d601cc06e0c63bc8712 use-runstatedir-for-pid-file-location.patch 062e6eb88c49aeeac5d78c37c43cda1ff753e19f833aaa1525e37f66eede819910d4849bd954f3ef8ceb1b13e747953c99e2a9a4d9755b6da8d82c4e08b2b55c put-LOCKFILE_DIR-to-runstatedir.patch 57bed5c19aeb03218228a0b1244e7036ed80eaacb55e9799c9ba86619662f34c858512212b69b30c11b9b592ff776a82193ccd6fccffb6b3daa016e6d9197528 kea.initd.in"