Mercurial > hg > xemacs-beta
diff etc/check_cygwin_setup.sh @ 288:e11d67e05968 r21-0b42
Import from CVS: tag r21-0b42
author | cvs |
---|---|
date | Mon, 13 Aug 2007 10:35:54 +0200 |
parents | |
children | c9fe270a4101 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/etc/check_cygwin_setup.sh Mon Aug 13 10:35:54 2007 +0200 @@ -0,0 +1,178 @@ +#! bash + +yorn() +{ + echo -n " [y/n] " + read YN junk + if [ "$YN" = "n" ] + then + return -1; + else + return 0; + fi +} + +echo -n "checking for cygwin..." + +if ! uname -v +then + echo "couldn't find uname please add cygwin to your path." + exit -1 +fi + +OSversion="`uname -v | sed 's/^\(.\).*$/\1/'`" + +shell=`type sh | sed 's/sh is //'` +distdir=`dirname $shell` + +echo "cygwin installed in $distdir" + +echo "checking paths ..." + +if [ ! -d "/bin" ]; then + echo "You don't have /bin would like to mount cygwin as /bin ?" + if yorn; then + mkdir /bin + mount -b /bin $distdir + fi +elif [ "$distdir" != "/bin" ]; then + echo "Warning: you have /bin but it's not the cygwin installation." +fi + +if [ ! -d "/tmp" ]; then + echo -n "You don't have /tmp - create it?" + if yorn; then + mkdir /tmp + fi +else + echo "you have /tmp" +fi + +if [ ! -d "/etc" ]; then + echo -n "You don't have /etc - create it?" + if yorn; then + mkdir /etc + fi +else + echo "you have /etc" +fi + +if [ -d "/etc" ] +then + if [ ! -f "/etc/termcap" ]; then + echo -n "You don't have /etc/termcap - create it?" + if yorn; then + if [ ! -f "$distdir/../etc/termcap" ] + then + distdir=`mount | grep "$distdir" | sed -e "s/ .*$//"` + echo "Retrieving termcap from $distdir/../etc" + fi + if [ -f "$distdir/../etc/termcap" ] + then + cp "$distdir/../etc/termcap" /etc + else + echo "Error: can't find termcap file" + fi + fi + else + echo "you have /etc/termcap" + fi + + if [ ! -f "/etc/passwd" ]; then + echo -n "You don't have /etc/passwd - create it?" + if yorn; then + if [ "$OS" = "Windows_NT" ] + then + echo -n "Running on NT, create domain or local password file [d/l] " + read DL junk + if [ "$DL" = "d" ] + then + mkpasswd -d > /etc/passwd + else + mkpasswd -l > /etc/passwd + fi + else + echo "Please enter your userid e.g. andyp" + read userid junk + echo "Please enter your user name e.g. Andy Piper" + read username junk + echo "Administrator::500:513:::/bin/sh" > /etc/passwd + echo "$userid::1000:513:$username::/bin/sh" >> /etc/passwd + fi + fi + else + echo "you have /etc/passwd" + userid=`id | sed -e "s/[^(]*(\([^)]*\)).*/\1/"` + fi + + echo "userid is $userid" + + if [ ! -f "/etc/group" ]; then + echo -n "You don't have /etc/group - create it?" + if yorn; then + if [ "$OS" = "Windows_NT" ] + then + echo -n "Running on NT, create domain or local group file [d/l] " + read DL junk + if [ "$DL" = "d" ] + then + mkgroup -d > /etc/group + else + mkgroup -l > /etc/group + fi + else + echo "None::513:" > /etc/group + echo "Everyone::0:" >> /etc/group + fi + fi + else + echo "you have /etc/group" + fi + + if [ ! -f "/etc/hosts" ]; then + echo -n "You don't have /etc/hosts - create it?" + if yorn; then + mname=`uname -n` + echo "Machine name is $mname" + echo -n "Please enter your ip address " + read mipaddr junk + echo "$mname $mipaddr" > /etc/hosts + echo "localhost 127.0.0.1" >> /etc/hosts + fi + else + echo "you have /etc/hosts" + fi +else + echo "Can't create /etc files because /etc does not exist" +fi + +echo "checking environment ..." + +if [ "$HOME" = "" ]; then + echo -n "HOME is not set, rectify?" + if yorn; then + echo "please enter your home path [/winnt/profiles/$userid]" + read HOME junk + if [ "$HOME" = "" ]; then + HOME="/winnt/profiles/$userid" + fi + echo "HOME=$HOME; export HOME" >> $HOME/.bashrc + fi +else + echo "HOME is $HOME" +fi + +if [ "$TERM" != "ansi" -a "$TERM" != "linux" ]; then + echo -n "TERM is not set to linux or ansi, rectify?" + if yorn; then + echo "TERM=linux; export TERM" >> $HOME/.bashrc + fi +else + echo "TERM is $TERM" +fi + +if echo $CYGWIN32 | grep tty; then + echo "CYGWIN32 is $CYGWIN32" +else + echo "CYGWIN32 does not contain \"tty\" terminal may be deficient" +fi