From f10bb5847f65f3222c5d9a3ac6ed30f37c0ccca0 Mon Sep 17 00:00:00 2001 From: Natanael Copa Date: Tue, 16 Feb 2010 17:33:21 +0000 Subject: main/dhcp: create dhcrelay subpackage with init.d script fixes #281 (cherry picked from commit 669e19155dc8d1649d48fa4a2ee8c972f2ff453d) --- main/dhcp/APKBUILD | 17 +++++++++++++++-- main/dhcp/dhcrelay.confd | 13 +++++++++++++ main/dhcp/dhcrelay.initd | 33 +++++++++++++++++++++++++++++++++ 3 files changed, 61 insertions(+), 2 deletions(-) create mode 100644 main/dhcp/dhcrelay.confd create mode 100644 main/dhcp/dhcrelay.initd diff --git a/main/dhcp/APKBUILD b/main/dhcp/APKBUILD index c2177e5a..e7806523 100644 --- a/main/dhcp/APKBUILD +++ b/main/dhcp/APKBUILD @@ -2,17 +2,19 @@ pkgname=dhcp pkgver=4.1.0_p1 _realver=4.1.0p1 -pkgrel=5 +pkgrel=6 pkgdesc="ISC Dynamic Host Configuration Protocol (DHCP)" url="https://www.isc.org/" license="GPL" depends= makedepends= install="dhcp.pre-install dhcp.post-install dhcp.pre-upgrade dhcp.post-upgrade" -subpackages="$pkgname-doc $pkgname-dev dhclient" +subpackages="$pkgname-doc $pkgname-dev dhclient dhcrelay" source="http://ftp.isc.org/isc/dhcp/$pkgname-$_realver.tar.gz linux_ipv6_discover.patch dhcp-3.0-fix-perms.patch + dhcrelay.initd + dhcrelay.confd dhcpd.confd dhcpd.initd" @@ -58,8 +60,19 @@ dhclient() { mv "$pkgdir"/etc/dhcp/dhclient.conf "$subpkgdir"/etc/dhcp/ } +dhcrelay() { + pkgdesc="ISC dhcp relay server" + install -d "$pkgdir"/var/run/dhcp + install -d "$subpkgdir"/usr/sbin + mv "$pkgdir"/usr/sbin/dhcrelay "$subpkgdir"/usr/sbin/ + install -m755 -D "$srcdir"/dhcrelay.initd "$pkgdir"/etc/init.d/dhcrelay + install -m644 -D "$srcdir"/dhcrelay.confd "$pkgdir"/etc/conf.d/dhcrelay +} + md5sums="325ff8338c5a21f89d5304ac13ffebdf dhcp-4.1.0p1.tar.gz 37abf1fb047a353e91b022fafdabf39a linux_ipv6_discover.patch a9eaf182dae3984670da52f20ae10fba dhcp-3.0-fix-perms.patch +ce18f48dff6ef20c6efa2a052584b536 dhcrelay.initd +db84514fe15fd7d81136afbaae738f55 dhcrelay.confd df32707f5bbe5363306420b5dc6e6b40 dhcpd.confd be2259371681bd4ab8a577b1b1a989ae dhcpd.initd" diff --git a/main/dhcp/dhcrelay.confd b/main/dhcp/dhcrelay.confd new file mode 100644 index 00000000..1102d3a4 --- /dev/null +++ b/main/dhcp/dhcrelay.confd @@ -0,0 +1,13 @@ +# /etc/conf.d/dhcrelay: config file for /etc/init.d/dhcrelay + +# Configure which interface or interfaces to for dhcrelay to listen on +# and send to. +# List all interfaces space separated. If this is not specified then +# we use all interfaces. +#IFACE="" + +# Insert any other options needed. See dhcrelay(8) for details. +#DHCRELAY_OPTS="" + +# Space separated list of IPs to forward BOOTP/DHCP packets to. +DHCRELAY_SERVERS="" diff --git a/main/dhcp/dhcrelay.initd b/main/dhcp/dhcrelay.initd new file mode 100644 index 00000000..dc55bf0f --- /dev/null +++ b/main/dhcp/dhcrelay.initd @@ -0,0 +1,33 @@ +#!/sbin/runscript +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-misc/dhcp/files/dhcrelay.init,v 1.2 2007/03/22 15:36:59 uberlord Exp $ + +depend() { + need net + use logger + after firewall +} + +start() { + if [ -z "${DHCRELAY_SERVERS}" ]; then + eerror "No DHCRELAY_SERVERS specified in /etc/conf.d/dhcrelay" + return 1 + fi + + local IFACES= i= + for i in ${IFACE} ; do + IFACES="${IFACES} -i ${i}" + done + + ebegin "Starting dhcrelay" + start-stop-daemon --start --exec /usr/sbin/dhcrelay \ + -- -q ${IFACES} ${DHCRELAY_OPTS} ${DHCRELAY_SERVERS} + eend $? +} + +stop() { + ebegin "Stopping dhcrelay" + start-stop-daemon --stop --pidfile /var/run/dhcrelay.pid + eend $? +} -- cgit v1.2.3