#!/bin/bash
#
# init_netconf
#
# Version: 2012-02-16
#
set -x
EXE=$(basename $0)
LOGDATE=$(date +"%Y-%m-%d %H:%M")
ETH=${1:-"eth0"}

# check already applied
test -f /etc/sysconfig/network/ifcfg-$ETH && exit 2

/usr/bin/killall -9 dhcpcd
/sbin/dhcpcd $ETH || exit 3

IPADDR=$(ip a s | awk '$7=="'${ETH}'" {split($2,a,"/"); print a[1]}')
HOFULL=$(nslookup $IPADDR | awk '$2 == "name" {print $4}' | sed s/\.$//)
HOSHRT=$(echo $HOFULL | awk -F"." '{print $1}')

# set hostname
mv /etc/HOSTNAME /etc/HOSTNAME.orig
echo $HOFULL >/etc/HOSTNAME
hostname $HOSHRT

cp /etc/hosts /etc/hosts.orig
echo $IPADDR $HOFULL $HOSHRT >>/etc/hosts

# ifcfg-$ETH
cp /etc/sysconfig/network/ifcfg-$ETH /etc/sysconfig/network/BAK.ifcfg-$ETH

cat >/tmp/ifcfg-$ETH.TMPL <<EOF
BOOTPROTO='static'
BROADCAST=''
ETHTOOL_OPTIONS=''
IPADDR='@@IPADDR@@'
MTU=''
NETMASK='255.255.248.0'
STARTMODE='auto'
USERCONTROL='no'
EOF

sed -e s/@@IPADDR@@/${IPADDR}/g </tmp/ifcfg-$ETH.TMPL >/etc/sysconfig/network/ifcfg-$ETH

# TODO get nameserver and routes from dhcp 
cp /etc/resolv.conf /etc/resolv.conf.orig 
cat > /etc/resolv.conf << EOF 
search enbw.net
nameserver 10.125.250.100
nameserver 10.225.250.100
EOF

cp /etc/sysconfig/network/routes /etc/sysconfig/network/routes.orig
cat >/etc/sysconfig/network/routes <<EOF
default 10.125.120.1 - - 
EOF

rcnetwork restart
RC=$?
LOG="$EXE $LOGDATE $ETH $IPADDR RC:$RC"
logger -t $LOG 
echo $LOG > /dev/stderr
#
