From 8147fe1009e24e218bf20b9f6c1b94fd9465ffda Mon Sep 17 00:00:00 2001 From: Ulrich Dangel Date: Mon, 6 Dec 2010 23:58:36 +0100 Subject: [PATCH 1/1] Use dhclient hooks instead of proprietary pump hooks for dhcphostname --- debian/rules | 3 +-- etc/dhcp/dhclient-exit-hooks.d/grml-sethostname | 1 + etc/dhcp3/dhclient-exit-hooks.d/grml-sethostname | 12 ++++++++++++ etc/grml/pump-scripts.d/set-hostname | 21 --------------------- lib/pump-runparts | 9 --------- 5 files changed, 14 insertions(+), 32 deletions(-) create mode 120000 etc/dhcp/dhclient-exit-hooks.d/grml-sethostname create mode 100755 etc/dhcp3/dhclient-exit-hooks.d/grml-sethostname delete mode 100755 etc/grml/pump-scripts.d/set-hostname delete mode 100644 lib/pump-runparts diff --git a/debian/rules b/debian/rules index f8d767d..687f607 100755 --- a/debian/rules +++ b/debian/rules @@ -30,7 +30,7 @@ install: build dh_testdir dh_testroot dh_clean -k - dh_installdirs etc/grml etc/init.d usr/sbin usr/bin usr/share/doc/grml-saveconfig usr/lib/grml-autoconfig + dh_installdirs etc/grml etc/dhcp{3,}/dhclient-exit-hooks.d etc/init.d usr/sbin usr/bin usr/share/doc/grml-saveconfig # Add here commands to install the package into debian/grml-autoconfig. install -m 755 grml-autoconfig debian/grml-autoconfig/etc/init.d/grml-autoconfig @@ -43,7 +43,6 @@ install: build install -m 755 bin/restore-config debian/grml-autoconfig/usr/bin/restore-config install -m 755 bin/save-config debian/grml-autoconfig/usr/bin/save-config - install -m 755 lib/pump-runparts debian/grml-autoconfig/usr/lib/grml-autoconfig/pump-runparts # just as a "backup" solution: cp -a etc/* debian/grml-autoconfig/etc/ diff --git a/etc/dhcp/dhclient-exit-hooks.d/grml-sethostname b/etc/dhcp/dhclient-exit-hooks.d/grml-sethostname new file mode 120000 index 0000000..36cd991 --- /dev/null +++ b/etc/dhcp/dhclient-exit-hooks.d/grml-sethostname @@ -0,0 +1 @@ +../../dhcp3/dhclient-exit-hooks.d/grml-sethostname \ No newline at end of file diff --git a/etc/dhcp3/dhclient-exit-hooks.d/grml-sethostname b/etc/dhcp3/dhclient-exit-hooks.d/grml-sethostname new file mode 100755 index 0000000..acd03a2 --- /dev/null +++ b/etc/dhcp3/dhclient-exit-hooks.d/grml-sethostname @@ -0,0 +1,12 @@ +# only run the comamnd if we bound to a new ip +case "$reason" in BOUND) +if ! grep -q 'nodhcphostname' /proc/cmdline && [ -f /etc/grml_cd ] ; then + + hostname=$(busybox nslookup "$new_ip_address" | awk '/Address 1: '$new_ip_address'/ {print $4}') + if [ -n "$hostname" ] ; then + grml-hostname "$hostname" + hostname -F /etc/hostname + fi +fi +;; +esac diff --git a/etc/grml/pump-scripts.d/set-hostname b/etc/grml/pump-scripts.d/set-hostname deleted file mode 100755 index 6682d3e..0000000 --- a/etc/grml/pump-scripts.d/set-hostname +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/zsh -e -# PUMP Script -# $1 Calling circumstance (up, renewal, down) -# $2 interface -# $3 ip - -# Exit early, if we're not being called for the initial lease -[ "$1" != "up" ] && exit 0 - -. /etc/grml/autoconfig.functions - -# only run if no nodhcphostname parameter is given -# and if running in live mode -if ! checkbootparam 'nodhcphostname' && [ -f /etc/grml_cd ] ; then - - hostname=$(busybox nslookup "$3" | awk '/Address 1: '$3'/ {print $4}') - [ -n "$hostname" ] || exit 1 - - grml-hostname "$hostname" - hostname -F /etc/hostname -fi diff --git a/lib/pump-runparts b/lib/pump-runparts deleted file mode 100644 index 3985964..0000000 --- a/lib/pump-runparts +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh -e - -arguments="" - -for ARG in $* ; do - arguments="${arguments} -a ${ARG} " -done - -run-parts $arguments /etc/grml/pump-scripts.d/ -- 2.1.4