# $Header: /home/cvsd/magellan-cvs/magellan-src/installer/gtk-gui/networking.sh,v 1.1 2008-04-18 20:40:28 niro Exp $ export NETWORK_CONFIG=' header.png echo ${NETWORK_HOSTNAME} NETWORK_HOSTNAME echo ${NETWORK_DOMAIN} NETWORK_DOMAIN ' export NETWORK_CONFIG_SELECT=' header.png NETWORK_DHCP NETWORK_STATIC NETWORK_NONE ' export NETWORK_CONFIG_STATIC=' header.png echo "${NETWORK_IP}" NETWORK_IP echo "${NETWORK_NETMASK}" NETWORK_NETMASK echo "${NETWORK_GATEWAY}" NETWORK_GATEWAY echo "${NETWORK_NAMESERVER}" NETWORK_NAMESERVER ' export NETWORK_SELECT_NIC=' header.png source hwdetection.sh; get_hwinfo -d netcard | sed "s:;:\|:g"NETWORK_NIC
' check_static_network_config() { # these are a requirement if [[ -z ${NETWORK_IP} ]] then FAILURE_MESSAGE="No IP-Address given!" rundialog FAILURE_DIALOG return 1 fi if [[ -z ${NETWORK_NETMASK} ]] then FAILURE_MESSAGE="No netmask given!" rundialog FAILURE_DIALOG return 1 fi return 0 } # needed to be available in the gtk-dialog export -f check_static_network_config rundialog_network_config() { rundialog NETWORK_CONFIG echo "DEBUG: EXIT='${EXIT}'" # save given variables in env # they will be shown as default on error export NETWORK_HOSTNAME export NETWORK_DOMAIN case ${EXIT} in abort) echo "Aborted by user." exit 1 ;; back) # placeholder return 1 ;; next) if [[ -z ${NETWORK_HOSTNAME} ]] then FAILURE_MESSAGE="No hostname given." \ rundialog FAILURE_DIALOG rundialog_network_config elif [[ -z ${NETWORK_DOMAIN} ]] then FAILURE_MESSAGE="No domain given." \ rundialog FAILURE_DIALOG rundialog_network_config fi ;; esac } rundialog_network_config_select() { rundialog NETWORK_CONFIG_SELECT echo "DEBUG: EXIT='${EXIT}'" echo "DEBUG: NETWORK_DHCP='${NETWORK_DHCP}'" echo "DEBUG: NETWORK_STATIC='${NETWORK_STATIC}'" echo "DEBUG: NETWORK_NONE='${NETWORK_NONE}'" case ${EXIT} in abort) echo "Aborted by user." exit 1 ;; back) rundialog_network_config rundialog_network_config_select ;; next) if [[ ${NETWORK_NONE} = true ]] then export NETWORK_METHOD="none" WARNING_MESSAGE="Magellan needs network support for further installations.\nOnly a very basic system get installed.\nTo use more packages, you have to setup your networking manually." \ rundialog WARNING_DIALOG else # want networking, run nic selection rundialog_network_select_nic if [[ ${NETWORK_DHCP} = true ]] then export NETWORK_METHOD="dhcp" elif [[ ${NETWORK_STATIC} = true ]] then export NETWORK_METHOD="static" # run static config dialog rundialog_network_config_static fi fi ;; esac } rundialog_network_config_static() { rundialog NETWORK_CONFIG_STATIC echo "DEBUG: EXIT='${EXIT}'" # save given variables in env # they will be shown as default on error export NETWORK_IP export NETWORK_NETMASK export NETWORK_GATEWAY export NETWORK_NAMESERVER case ${EXIT} in abort) echo "Aborted by user." exit 1 ;; back) rundialog_network_select_nic rundialog_network_config_static ;; next) if ! check_static_network_config then rundialog_network_config_static fi ;; esac } rundialog_network_select_nic() { rundialog NETWORK_SELECT_NIC echo "DEBUG: EXIT='${EXIT}'" case ${EXIT} in abort) echo "Aborted by user." exit 1 ;; back) rundialog_network_config_select rundialog_network_select_nic ;; next) if [[ -z ${NETWORK_NIC} ]] then FAILURE_MESSAGE="No NIC selected!" \ rundialog FAILURE_DIALOG fi ;; esac } main_networking() { rundialog_network_config rundialog_network_config_select #rundialog_network_select_nic # export all variables export NETWORK_HOSTNAME export NETWORK_DOMAIN export NETWORK_NIC export NETWORK_METHOD export NETWORK_IP export NETWORK_NETMASK export NETWORK_GATEWAY export NETWORK_NAMESERVER }