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