ports/emulators/vmware3/scripts/configure
2004-07-08 08:26:34 +00:00

180 lines
3.4 KiB
Bash

#!/bin/sh
[ "_$VMNET_HOST_IP" = _ ] && VMNET_HOST_IP="192.168.254.1"
[ "_$VMNET_NETMASK" = _ ] && VMNET_NETMASK="255.255.255.0"
host_ip=$VMNET_HOST_IP
netmask=$VMNET_NETMASK
title="VMware network setup"
get_network_settings() {
bridged="NO"
/usr/bin/dialog --title "$title" --clear --yesno \
"\n"\
"Do you want to use netgraph bridging?\n"\
10 50
if [ $? -eq 0 ]; then
bridged="YES"
result=`/usr/bin/dialog --title "$title" --clear --inputbox \
"\n"\
"To which interface would you\n"\
"like to tie the bridge?:"\
10 50 "" \
2>&1 > /dev/tty`
case $? in
0)
if [ -z "$result" ]; then
return 1
fi
bdg_interface=$result
;;
1)
return 1
;;
esac
host_ip=192.168.0.1
netmask=255.255.255.0
else
result=`/usr/bin/dialog --title "$title" --clear --inputbox \
"\n"\
"What will be the IP address of your host\n"\
"on your private network?:"\
10 50 $host_ip \
2>&1 >/dev/tty `
case $? in
0)
if [ -z "$result" ]; then
return 1
fi
host_ip=$result
;;
1)
return 1
;;
esac
result=`/usr/bin/dialog --title "$title" --clear --inputbox \
"\n"\
"What will be the netmask of your private\n"\
"network?:"\
10 50 $netmask \
2>&1 >/dev/tty `
case $? in
0)
if [ -z "$result" ]; then
return 1
fi
netmask=$result
;;
1)
return 1
;;
esac
return 0;
fi
}
do_network() {
while true; do
get_network_settings
if [ "X$bridged" != "XYES" ]; then
/usr/bin/dialog --title "Confirmation" --clear --yesno \
"\n"\
"Are the following options correct?\n\n"\
"Configuration: host only\n"\
"IP address: $host_ip\n"\
"Netmask: $netmask\n"\
10 50
[ $? -eq 0 ] && return 0
else
/usr/bin/dialog --title "Confirmation" --clear --yesno \
"\n"\
"Are the following options correct?\n\n"\
"Configuration: bridged\n"\
"Interface: $bdg_interface\n"\
10 50
[ $? -eq 0 ] && return 0
fi
/usr/bin/dialog --title "Confirmation" --clear --yesno \
"\n"\
"Do you want to edit network options again?\n"\
10 50
[ $? -eq 0 ] && continue
/usr/bin/dialog --title "Confirmation" --clear --yesno \
"\n"\
"Do you want to continue without networking?\n"\
10 50
[ $? -eq 0 ] && return 1
host_ip=$VMNET_HOST_IP
netmask=$VMNET_NETMASK
return 0;
done
}
guided_setup() {
/usr/bin/dialog --title "$title" --clear --yesno \
"\n"\
"Do you want to configure vmnet interface?\n"\
10 50
if [ $? -eq 0 ]; then
do_network
else
/usr/bin/dialog --title "$title" --msgbox \
"\n"\
"Please, refer to $PREFIX/share/doc/vmware/MultipleInstances.FreeeBSD\n"\
"for further information on setting up your vmnet interfaces.\n"\
8 70
networking=1
return 1
fi
}
networking=0
if [ _$BATCH = _ ]; then
guided_setup
if [ $? -eq 0 ]; then
networking=1
if [ X$bridged = XYES ]; then
/usr/bin/dialog --title "$title" --infobox \
"\n"\
"The following options will be used.\n\n"\
"Configuration: bridged\n"\
"Interface: $bdg_interface\n"\
10 50
else
/usr/bin/dialog --title "$title" --infobox \
"\n"\
"The following options will be used.\n\n"\
"Configuration: host only\n"\
"IP address: $host_ip\n"\
"Netmask: $netmask\n"\
10 50
fi
fi
else #BATCH
[ -f ${WRKDIR}/Makefile.inc.net ] && exit 0
fi #BATCH
(
exec > ${WRKDIR}/Makefile.inc.net
echo '#' `date`
echo VMNET_BRIDGED=$bridged
echo VMNET_BRIDGED_INTERFACE=$bdg_interface
echo VMNET_HOST_IP=$host_ip
echo VMNET_NETMASK=$netmask
echo VMNET_NETWORKING=$networking
)
exit 0