# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=dhcp
pkgver=4.3.5
_realver=${pkgver/_p/-P}
pkgrel=0
pkgdesc="ISC Dynamic Host Configuration Protocol (DHCP)"
url="https://www.isc.org/"
arch="all"
license="ISC"
depends=
pkgusers="dhcp"
pkggroups="dhcp"
makedepends="perl linux-headers file"
install="dhcp.pre-install dhcp.pre-upgrade dhcp.post-upgrade"
subpackages="$pkgname-doc $pkgname-dev $pkgname-dbg dhclient dhcrelay"
source="http://ftp.isc.org/isc/dhcp/${_realver}/$pkgname-$_realver.tar.gz
	dhcp-3.0-fix-perms.patch
	dhclient-script.patch
	dhcrelay.initd
	dhcrelay.confd
	dhcpd.confd
	dhcpd.initd"

_builddir="$srcdir"/$pkgname-$_realver
prepare() {
	cd "$_builddir"
	for i in $source; do
		case $i in
		*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
		esac
	done
}

build() {
	cd "$_builddir"
	# fix ipv6
	export CFLAGS="$CFLAGS -D_GNU_SOURCE \
		-D_PATH_DHCLIENT_CONF='\"/etc/dhcp/dhclient.conf\"'"
	./configure \
		--build=$CBUILD \
		--host=$CHOST \
		--prefix=/usr \
		--sysconfdir=/etc/dhcp \
		--with-cli-pid-file=/var/run/dhcp/dhclient.pid \
		--with-cli-lease-file=/var/lib/dhcp/dhclient.leases \
		--with-srv-pid-file=/var/run/dhcp/dhcpd.pid \
		--with-srv-lease-file=/var/lib/dhcp/dhcpd.leases \
		--with-relay-pid-file=/var/run/dhcp/dhcrelay.pid \
		--enable-dhcpv6 \
		--enable-paranoia \
		--mandir=/usr/share/man \
		--infodir=/usr/share/info \
		|| return 1
	make -j1 -C bind && make || return 1
}

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

	install -m755 -D "$srcdir"/dhcpd.initd "$pkgdir"/etc/init.d/dhcpd
	install -m644 -D "$srcdir"/dhcpd.confd "$pkgdir"/etc/conf.d/dhcpd
	install -m751 -D "$_builddir"/client/scripts/linux "$pkgdir"/sbin/dhclient-script
	install -d "$pkgdir"/var/lib/dhcp
	install -d "$pkgdir"/var/run/dhcp
}

dhclient() {
	pkgdesc="ISC dhcp client"
	install -d -o dhcp -g dhcp "$subpkgdir"/var/lib/dhcp
	install -d -o dhcp -g dhcp "$subpkgdir"/var/run/dhcp
	install -d "$subpkgdir"/usr/sbin
	install -d "$subpkgdir"/sbin
	install -d "$subpkgdir"/etc/dhcp
	mv "$pkgdir"/usr/sbin/dhclient "$subpkgdir"/usr/sbin/
	mv "$pkgdir"/sbin/dhclient-script "$subpkgdir"/sbin/
	mv "$pkgdir"/etc/dhcp/dhclient.conf* "$subpkgdir"/etc/dhcp/
}

dhcrelay() {
	pkgdesc="ISC dhcp relay server"
	replaces="dhcp"
	install -d "$subpkgdir"/var/run/dhcp \
		"$subpkgdir"/usr/sbin || return 1
	mv "$pkgdir"/usr/sbin/dhcrelay "$subpkgdir"/usr/sbin/
	install -m755 -D "$srcdir"/dhcrelay.initd \
		"$subpkgdir"/etc/init.d/dhcrelay
	install -m644 -D "$srcdir"/dhcrelay.confd \
		"$subpkgdir"/etc/conf.d/dhcrelay
}

sha512sums="aba0e1d361eb9e7ed33fc48c0b0b9288057af9ec51775e40e27feb9ababc182506706fcf39079236ce36b0f7ded391e107474dc29de2e60ed45d37753505e1f0  dhcp-4.3.5.tar.gz
d5697a56fbbff25199962608986e7ffb533ed4afd3e344e3c79d2010dda73cc0b088f06c454e9f0c69eb054e09a374455fa71d3f73306e0c98fa76df4dd321b7  dhcp-3.0-fix-perms.patch
a86fdbc73d3342be97261ac4ee13d4fc8cda812378cb370a856ad98a973adc7f4afad070cb3bde466881d8feade11a0c72389bf3338dc400e30bfa30f24cb073  dhclient-script.patch
0c3eee11ee9771a3bd7f8076827e57296136a36e6c00c3149e7274fb7a479feae4dc7d744f3c66ac78ffc96f036e14a7a5a0806095495441f98d76737a34faa6  dhcrelay.initd
fd15dbaa4c61c3c26f407bf13dde859470a1adba134da064b653ccc152ce42635ee8de2fe113ae21ba8470e97e3caad8c1a47b69eb25e5e92b40e26790b96f6d  dhcrelay.confd
7b7a77b7826b475a4113ebeee54501ce417cc56e85754301a82a185d88b4713d198f615a366e63e0e2b0aef988c8137dcd1e18c4036d993378257079da17693d  dhcpd.confd
96ebc64e7c8a484133c23e9d1d7afe965247aaf54bc619b4fa81ed80f56b6bdb7e2c22d3f26db4c87c2a6ffd29ae2db6408954feac4c2104df712975cdfccc60  dhcpd.initd"
