%post --nochroot
root="/mnt/sysimage/"
mkdir -p ${root}/opt/macs
cp -f /run/install/repo/macs/* ${root}/opt/macs
%end

%post
function enable_ipv6()
{
    sed -i 's#net.ipv6.conf.all.disable_ipv6.*#net.ipv6.conf.all.disable_ipv6 = 0#g' /etc/sysctl.conf
    sed -i 's#net.ipv6.conf.default.disable_ipv6.*#net.ipv6.conf.default.disable_ipv6 = 0#g' /etc/sysctl.conf
    sed -i 's#net.ipv6.conf.lo.disable_ipv6.*#net.ipv6.conf.lo.disable_ipv6 = 0#g' /etc/sysctl.conf
}
function modify_eth()
{
    dos2unix /opt/macs/*
    macs=""
    eths=$(ls /sys/class/net/ | grep eth | xargs)
    for eth in ${eths}
    do
        mac=$(cat /sys/class/net/${eth}/address)
        macs="${macs} ${mac}"
    done
    echo ${macs}
    for mac in ${macs}
    do
        filename=$(echo ${mac} | sed "s/:/-/g")
        if [ -f /opt/macs/${filename} ]
        then
            eth=$(cat /opt/macs/${filename} | grep "NETCARD" | awk -F= '{print $2'})
            ipaddr=$(cat /opt/macs/${filename} | grep "IPADDR" | awk -F= '{print $2'})
            netmask=$(cat /opt/macs/${filename} | grep "NETMASK" | awk -F= '{print $2'})
            gateway=$(cat /opt/macs/${filename} | grep "GATEWAY" | awk -F= '{print $2'})
            ipv6addr=$(cat /opt/macs/${filename} | grep "IPV6ADDR" | awk -F= '{print $2'})
            ipv6gw=$(cat /opt/macs/${filename} | grep "IPV6_DEFAULTGW" | awk -F= '{print $2'})
            network_file="/etc/sysconfig/network-scripts/ifcfg-${eth}"
            if [ ! -f ${network_file} ];then
                echo "Error:there is no ${eth},exit!"
                exit 1
            fi
            # clear
            sed -i "/IPADDR=/d;/NETMASK=/d;/GATEWAY=/d;/DEFROUTE=/d;/IPV6ADDR=/d;/IPV6INIT=/d;/IPV6_AUTOCONF=/d;/IPV6_DEFAULTGW=/d;/IPV6_ADDR_GEN_MODE=/d;/IPV6_DEFROUTE=/d" ${network_file}
            # append
            [ ! -z "${ipaddr}" ] && echo "IPADDR=${ipaddr}" >>${network_file}
            [ ! -z "${netmask}" ] && echo "NETMASK=${netmask}" >>${network_file}
            [ ! -z "${gateway}" ] && echo "GATEWAY=${gateway}" >>${network_file}
            if [ ! -z "${ipv6addr}" ]
            then
                echo "IPV6ADDR=${ipv6addr}" >>${network_file}
                echo "IPV6INIT=yes" >>${network_file}
                echo "IPV6_AUTOCONF=no" >>${network_file}
                echo "IPV6_ADDR_GEN_MODE=stable-privacy" >>${network_file}
                # enable ipv6
                enable_ipv6
            fi
            [ ! -z "${ipv6gw}" ] && echo "IPV6_DEFAULTGW=${ipv6gw}" >>${network_file}
            sed -i "/ONBOOT=/ s/no/yes/" ${network_file}
        fi
    done
}


echo "" > /etc/resolv.conf
modify_eth
rm -rf /opt/macs
%end
