summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--abs/core/dhcp/ChangeLog5
-rw-r--r--abs/core/dhcp/PKGBUILD66
-rw-r--r--abs/core/dhcp/dhclient-script-pathFixes.patch118
-rw-r--r--abs/core/dhcp/dhcp-4.1.1-missing-ipv6-not-fatal.patch39
-rw-r--r--abs/core/dhcp/dhcp.install6
5 files changed, 214 insertions, 20 deletions
diff --git a/abs/core/dhcp/ChangeLog b/abs/core/dhcp/ChangeLog
index 7b9cb47..9cffaa9 100644
--- a/abs/core/dhcp/ChangeLog
+++ b/abs/core/dhcp/ChangeLog
@@ -1,5 +1,8 @@
-2009-07-19 K. Piche <kevin@archlinux.org>
+2010-07-16 kevin <kevin@archlinux.org>
+ * dhcp 4.2.0-1
+
+2009-07-19 kevin <kevin@archlinux.org>
* dhcp 4.1.0.p1-1
* Adopted RedHat patch to fix bug where dhcpd won't start if ipv6 module
is not loaded. Fixes FS#12792.
diff --git a/abs/core/dhcp/PKGBUILD b/abs/core/dhcp/PKGBUILD
index db15ac3..af4e49a 100644
--- a/abs/core/dhcp/PKGBUILD
+++ b/abs/core/dhcp/PKGBUILD
@@ -1,39 +1,77 @@
-# $Id: PKGBUILD 46754 2009-07-20 03:16:44Z kevin $
+# $Id: PKGBUILD 85736 2010-07-19 02:41:06Z kevin $
# Maintainer: judd <jvinet@zeroflux.org>
-pkgname=dhcp
+pkgbase=dhcp
+pkgname=('dhcp'
+ 'dhclient')
# separate patch levels with a period to maintain proper versioning.
-pkgver=4.1.0.p1
-_pkgver=4.1.0p1
+pkgver=4.2.0
+_pkgver=4.2.0
pkgrel=1
-pkgdesc="A DHCP server, client, and relay agent"
-arch=(i686 x86_64)
+arch=('i686' 'x86_64')
license=('custom:isc-dhcp')
url="https://www.isc.org/software/dhcp"
-depends=('openssl>=0.9.8a')
-backup=('etc/dhcpd.conf' 'etc/conf.d/dhcp')
-install=dhcp.install
source=(http://ftp.isc.org/isc/${pkgname}/${pkgname}-${_pkgver}.tar.gz
-dhcpd dhcp.conf.d dhcp-4.1.0-missing-ipv6-not-fatal.patch)
+dhcpd dhcp.conf.d dhcp-4.1.1-missing-ipv6-not-fatal.patch dhclient-script-pathFixes.patch)
+md5sums=('83abd7c4f9c24d8dd024ca5a71380c0a'
+ 'df22cffa7d7415ece7bb025b7bf774dd'
+ '49da3192e5c885e3c7d02f447c2dea5e'
+ 'fd64aeb4f399dcc41ea43089a3811094'
+ 'ddcc5cd576ec631ade6c4da21952b50b')
build() {
cd ${srcdir}/${pkgname}-${_pkgver}
# Define _GNU_SOURCE to fix IPV6.
sed '/^CFLAGS="$CFLAGS/ s/INGS"/INGS -D_GNU_SOURCE"/' -i configure
# Make not having ipv6 non-fatal.
- patch -Np1 -i ${srcdir}/dhcp-4.1.0-missing-ipv6-not-fatal.patch
+ patch -Np0 -i ${srcdir}/dhcp-4.1.1-missing-ipv6-not-fatal.patch
./configure --prefix=/usr --sysconfdir=/etc \
--with-srv-lease-file=/var/state/dhcp/dhcpd.leases \
--with-srv6-lease-file=/var/state/dhcp/dhcpd6.leases
make || return 1
- make DESTDIR=${pkgdir} install
+}
+package_dhcp(){
+ pkgdesc="A DHCP server, client, and relay agent"
+ depends=('openssl>=0.9.8a')
+ backup=('etc/dhcpd.conf' 'etc/conf.d/dhcp')
+ install=dhcp.install
+
+ cd ${srcdir}/${pkgname}-${_pkgver}
+ make DESTDIR=${pkgdir} install
install -D -m755 ${srcdir}/dhcpd ${pkgdir}/etc/rc.d/dhcpd
- install -D -m644 ${srcdir}/dhcp.conf.d ${pkgdir}/etc/conf.d/${pkgname}
+ install -D -m644 ${srcdir}/dhcp.conf.d ${pkgdir}/etc/conf.d/${pkgbase}
mkdir -p ${pkgdir}/var/state/dhcp
rm -f ${pkgdir}/etc/dhclient.conf
rm -f ${pkgdir}/usr/sbin/dhclient
rm -f ${pkgdir}/usr/share/man/man{5,8}/dhclient*
+
# install licenses
- install -m644 -D ${srcdir}/${pkgname}-${_pkgver}/LICENSE \
+ install -m644 -D ${srcdir}/${pkgbase}-${_pkgver}/LICENSE \
${pkgdir}/usr/share/licenses/dhcp/LICENSE
}
+
+package_dhclient(){
+
+ pkgdesc="dhclient is standalone client from the dhcp package"
+ depends=('bash')
+
+ cd ${srcdir}/${pkgname}-${_pkgver}/client/scripts
+ patch -Np1 -i ${srcdir}/dhclient-script-pathFixes.patch linux || return 1
+ cd ${srcdir}/${pkgname}-${_pkgver}/client
+ make DESTDIR=${pkgdir} install
+ install -m755 -d ${startdir}/pkg/var/lib/dhclient
+
+ #not needed after fresh install
+ rm -f ${pkgdir}/var/lib/dhclient/dhcpd.leases
+
+ #move dhclient.conf to dhclient.conf.example
+ mv ${pkgdir}/etc/dhclient.conf ${pkgdir}/etc/dhclient.conf.example
+
+ # install dhclient linux script
+ mkdir ${pkgdir}/sbin
+ install -m755 -D ${srcdir}/${pkgname}-${_pkgver}/client/scripts/linux \
+ ${pkgdir}/sbin/dhclient-script
+ # install licenses
+ install -m644 -D ${srcdir}/${pkgname}-${_pkgver}/LICENSE \
+ ${pkgdir}/usr/share/licenses/dhclient/LICENSE
+}
diff --git a/abs/core/dhcp/dhclient-script-pathFixes.patch b/abs/core/dhcp/dhclient-script-pathFixes.patch
new file mode 100644
index 0000000..e19c328
--- /dev/null
+++ b/abs/core/dhcp/dhclient-script-pathFixes.patch
@@ -0,0 +1,118 @@
+--- linux 2009-04-21 16:21:09.000000000 +0200
++++ linux_new 2010-06-30 19:06:20.000000000 +0200
+@@ -23,7 +23,7 @@
+ # of the $1 in its args.
+
+ # 'ip' just looks too weird. /sbin/ip looks less weird.
+-ip=/sbin/ip
++ip=/usr/sbin/ip
+
+ make_resolv_conf() {
+ if [ x"$new_domain_name_servers" != x ]; then
+@@ -112,9 +112,9 @@
+ if [ x$reason = xPREINIT ]; then
+ if [ x$alias_ip_address != x ]; then
+ # Bring down alias interface. Its routes will disappear too.
+- ifconfig $interface:0- inet 0
++ /sbin/ifconfig $interface:0- inet 0
+ fi
+- ifconfig $interface 0 up
++ /sbin/ifconfig $interface 0 up
+
+ # We need to give the kernel some time to get the interface up.
+ sleep 1
+@@ -141,32 +141,32 @@
+ if [ x$old_ip_address != x ] && [ x$alias_ip_address != x ] && \
+ [ x$alias_ip_address != x$old_ip_address ]; then
+ # Possible new alias. Remove old alias.
+- ifconfig $interface:0- inet 0
++ /sbin/ifconfig $interface:0- inet 0
+ fi
+ if [ x$old_ip_address != x ] && [ x$old_ip_address != x$new_ip_address ]; then
+ # IP address changed. Bringing down the interface will delete all routes,
+ # and clear the ARP cache.
+- ifconfig $interface inet 0 down
++ /sbin/ifconfig $interface inet 0 down
+
+ fi
+ if [ x$old_ip_address = x ] || [ x$old_ip_address != x$new_ip_address ] || \
+ [ x$reason = xBOUND ] || [ x$reason = xREBOOT ]; then
+
+- ifconfig $interface inet $new_ip_address $new_subnet_arg \
++ /sbin/ifconfig $interface inet $new_ip_address $new_subnet_arg \
+ $new_broadcast_arg $mtu_arg
+ # Add a network route to the computed network address.
+ for router in $new_routers; do
+ if [ "x$new_subnet_mask" = "x255.255.255.255" ] ; then
+- route add -host $router dev $interface
++ /sbin/route add -host $router dev $interface
+ fi
+- route add default gw $router $metric_arg dev $interface
++ /sbin/route add default gw $router $metric_arg dev $interface
+ done
+ fi
+ if [ x$new_ip_address != x$alias_ip_address ] && [ x$alias_ip_address != x ];
+ then
+- ifconfig $interface:0- inet 0
+- ifconfig $interface:0 inet $alias_ip_address $alias_subnet_arg
+- route add -host $alias_ip_address $interface:0
++ /sbin/ifconfig $interface:0- inet 0
++ /sbin/ifconfig $interface:0 inet $alias_ip_address $alias_subnet_arg
++ /sbin/route add -host $alias_ip_address $interface:0
+ fi
+ make_resolv_conf
+ exit_with_hooks 0
+@@ -176,42 +176,42 @@
+ || [ x$reason = xSTOP ]; then
+ if [ x$alias_ip_address != x ]; then
+ # Turn off alias interface.
+- ifconfig $interface:0- inet 0
++ /sbin/ifconfig $interface:0- inet 0
+ fi
+ if [ x$old_ip_address != x ]; then
+ # Shut down interface, which will delete routes and clear arp cache.
+- ifconfig $interface inet 0 down
++ /sbin/ifconfig $interface inet 0 down
+ fi
+ if [ x$alias_ip_address != x ]; then
+- ifconfig $interface:0 inet $alias_ip_address $alias_subnet_arg
+- route add -host $alias_ip_address $interface:0
++ /sbin/ifconfig $interface:0 inet $alias_ip_address $alias_subnet_arg
++ /sbin/route add -host $alias_ip_address $interface:0
+ fi
+ exit_with_hooks 0
+ fi
+
+ if [ x$reason = xTIMEOUT ]; then
+ if [ x$alias_ip_address != x ]; then
+- ifconfig $interface:0- inet 0
++ /sbin/ifconfig $interface:0- inet 0
+ fi
+- ifconfig $interface inet $new_ip_address $new_subnet_arg \
++ /sbin/ifconfig $interface inet $new_ip_address $new_subnet_arg \
+ $new_broadcast_arg $mtu_arg
+ set $new_routers
+ if ping -q -c 1 $1; then
+ if [ x$new_ip_address != x$alias_ip_address ] && \
+ [ x$alias_ip_address != x ]; then
+- ifconfig $interface:0 inet $alias_ip_address $alias_subnet_arg
+- route add -host $alias_ip_address dev $interface:0
++ /sbin/ifconfig $interface:0 inet $alias_ip_address $alias_subnet_arg
++ /sbin/route add -host $alias_ip_address dev $interface:0
+ fi
+ for router in $new_routers; do
+ if [ "x$new_subnet_mask" = "x255.255.255.255" ] ; then
+- route add -host $router dev $interface
++ /sbin/route add -host $router dev $interface
+ fi
+- route add default gw $router $metric_arg dev $interface
++ /sbin/route add default gw $router $metric_arg dev $interface
+ done
+ make_resolv_conf
+ exit_with_hooks 0
+ fi
+- ifconfig $interface inet 0 down
++ /sbin/ifconfig $interface inet 0 down
+ exit_with_hooks 1
+ fi
+
diff --git a/abs/core/dhcp/dhcp-4.1.1-missing-ipv6-not-fatal.patch b/abs/core/dhcp/dhcp-4.1.1-missing-ipv6-not-fatal.patch
new file mode 100644
index 0000000..cc5ddb8
--- /dev/null
+++ b/abs/core/dhcp/dhcp-4.1.1-missing-ipv6-not-fatal.patch
@@ -0,0 +1,39 @@
+--- common/discover.c 2009-09-29 21:44:49.000000000 +0200
++++ common/discover.c_new 2010-06-30 19:40:02.000000000 +0200
+@@ -443,7 +443,7 @@
+ }
+
+ #ifdef DHCPv6
+- if (local_family == AF_INET6) {
++ if ((local_family == AF_INET6) && !access("/proc/net/if_inet6", R_OK)) {
+ ifaces->fp6 = fopen("/proc/net/if_inet6", "r");
+ if (ifaces->fp6 == NULL) {
+ log_error("Error opening '/proc/net/if_inet6' to "
+@@ -454,6 +454,8 @@
+ ifaces->fp = NULL;
+ return 0;
+ }
++ } else {
++ ifaces->fp6 = NULL;
+ }
+ #endif
+
+@@ -721,7 +723,7 @@
+ return 1;
+ }
+ #ifdef DHCPv6
+- if (!(*err)) {
++ if (!(*err) && ifaces->fp6) {
+ if (local_family == AF_INET6)
+ return next_iface6(info, err, ifaces);
+ }
+@@ -740,7 +742,8 @@
+ ifaces->sock = -1;
+ #ifdef DHCPv6
+ if (local_family == AF_INET6) {
+- fclose(ifaces->fp6);
++ if(ifaces->fp6)
++ fclose(ifaces->fp6);
+ ifaces->fp6 = NULL;
+ }
+ #endif
diff --git a/abs/core/dhcp/dhcp.install b/abs/core/dhcp/dhcp.install
index edb84b1..c0ad39e 100644
--- a/abs/core/dhcp/dhcp.install
+++ b/abs/core/dhcp/dhcp.install
@@ -1,7 +1,7 @@
# arg 1: the new package version
post_install() {
[ -f var/state/dhcp/dhcpd.leases ] || : >var/state/dhcp/dhcpd.leases
- echo "If dhcpd doesn' start ensure the ipv6 kernel module is loaded."
+ #echo "If dhcpd doesn't start, ensure the ipv6 kernel module is loaded."
}
# arg 1: the new package version
@@ -9,7 +9,3 @@ post_install() {
post_upgrade() {
post_install $1
}
-
-op=$1
-shift
-$op $*