From 8f6f144efb012ee8acd9855fd78403be35d09bd5 Mon Sep 17 00:00:00 2001
From: James Meyer <james.meyer@operamail.com>
Date: Mon, 13 Jul 2009 11:49:28 -0500
Subject: linhes-config: add request_dhcp function

---
 abs/core-testing/LinHES-config/PKGBUILD            |  4 +-
 .../LinHES-config/install_functions.sh             | 47 ++++++++++++++++++++++
 2 files changed, 49 insertions(+), 2 deletions(-)

diff --git a/abs/core-testing/LinHES-config/PKGBUILD b/abs/core-testing/LinHES-config/PKGBUILD
index 5ad1a9c..8ebf3f8 100755
--- a/abs/core-testing/LinHES-config/PKGBUILD
+++ b/abs/core-testing/LinHES-config/PKGBUILD
@@ -1,9 +1,9 @@
 pkgname=LinHES-config
 pkgver=2.0
-pkgrel=53
+pkgrel=56
 conflicts=(MythVantage-config MythVantage-config-dev LinHES-config-dev )
 pkgdesc="Install and configure your system"
-depends=(bc libstatgrab  mysql-python expect curl dnsutils parted sg3_utils nmbscan system-templates rsync python-parted ddcxinfo python-pexpect python-netifaces LinHES-timezone)
+depends=(bc libstatgrab  mysql-python expect curl dnsutils parted sg3_utils nmbscan system-templates rsync python-parted ddcxinfo python-pexpect python-netifaces LinHES-timezone python-iplib)
 arch=('i686')
 
 source=(mv_install.py mv_config.py mythinstall.bin myth_user_call file_time_offset.py install-ui.xml install_proxy.sh install_functions.sh systemconfig.sh install_db_chroot.sh restore_default_settings.sh xconfig.sh timezip.py soundconfig.sh LinHES-release issue MythVantage.sh create_master.sh build_diskless.sh networkconfig.sh autocard.py restore_km_db_chroot.sh README  mv_advanced.py  mv_common.py   mv_ir.py  mv_misc.py  mv_network.py  mv_screensaver.py  mv_smolt.py  mv_software.py  mv_webuser.py mv_hostype.py systemconfig.py myth_user_call.py)
diff --git a/abs/core-testing/LinHES-config/install_functions.sh b/abs/core-testing/LinHES-config/install_functions.sh
index 9b39437..94b4375 100755
--- a/abs/core-testing/LinHES-config/install_functions.sh
+++ b/abs/core-testing/LinHES-config/install_functions.sh
@@ -232,6 +232,53 @@ function init_network {
             rest_of_network
         fi
     fi
+
+
+
+
+}
+
+function dev_up_check(){
+    /sbin/ifconfig $1 1>/dev/null 2>/dev/null
+    status=$?
+    if [ $status -eq 1 ]
+    then
+        return 0
+    else
+        devip=`/sbin/ifconfig  | grep -C1 $1| grep inet|grep -v inet6  | cut -d: -f2 | awk '{ print $1}'`
+        if [  "x$devip" = "x" ]
+        then
+            return 1
+        else
+            return 0
+        fi
+    fi
+}
+
+function request_dhcp(){
+    for ndev in eth0 eth1 wlan0 wlan1 ath0
+    do
+        dev_up_check $ndev
+        status=$?
+        if [ $status -eq 1 ]
+        then
+            #interface is down, lets see if dhcp responds
+            dhcpcd -Td -t2 $ndev > /tmp/dhcpinfo.$ndev
+            TEMPVAR=`grep IPADDR /tmp/dhcpinfo.$ndev |cut -d\' -f2`
+            if [ ! x$TEMPVAR = x ]
+            then
+                update_db_settings HostIP$ndev "$TEMPVAR"
+                TEMPVAR=`grep NETMASK /tmp/dhcpinfo.$ndev |cut -d\' -f2`
+                nm=`/usr/bin/nmconv.py -obits  $TEMPVAR`
+                TEMPVAR="/$nm    $TEMPVAR"
+                update_db_settings HostNETMASK$ndev "$TEMPVAR"
+                TEMPVAR=`grep GATEWAYS /tmp/dhcpinfo.$ndev |cut -d\' -f2`
+                update_db_settings HostGW$ndev "$TEMPVAR"
+                TEMPVAR=`grep DNSSERVERS /tmp/dhcpinfo.$ndev |cut -d\' -f2`
+                update_db_settings HostDNS$ndev "$TEMPVAR"
+            fi
+        fi
+    done
 }
 
 function init_remote {
-- 
cgit v0.12

