From: Ulrich Dangel Date: Mon, 6 Dec 2010 22:58:36 +0000 (+0100) Subject: Use dhclient hooks instead of proprietary pump hooks for dhcphostname X-Git-Tag: v0.9.22~1^2 X-Git-Url: https://git.grml.org/?p=grml-autoconfig.git;a=commitdiff_plain;h=8147fe1009e24e218bf20b9f6c1b94fd9465ffda;hp=efc764b66b6954e7cb138414f4cc12bd9c7201f2 Use dhclient hooks instead of proprietary pump hooks for dhcphostname --- 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/