#!/bin/sh
# add-services
#
# Add the following lines to /etc/services
# 	skkserv		1178/tcp
# 
# You can do it by hand.  If you want so, answer 'no' to the question.


case $1 in
1)   	if grep skkserv /etc/services; then
  		echo "skkserv already exists in the file \"/etc/services\""
		echo "You don't have to do anything about services"
		exit 0
 	else
		echo "I will add an entry for skkserv into \"/etc/services\""
		echo -n "Can I do it [n] ?"
		read answer
		case xx$answer in
		xxy*)
			cp /etc/services /etc/services.org
  			echo "skkserv		1178/tcp" >> /etc/services
  			echo "added skkserv into \"/etc/services\""
			exit 0
			;;
		*)	echo "You should add the following line by hand"
  			echo "skkserv		1178/tcp"
			exit 0
			;;
		esac
 	fi
	;;
2)	# NIS master server
 	if ypcat services | grep skkserv ; then
  		echo "skkserv already exists in NIS map services"
		echo "You don't have to do anything about services"
		exit 0
 	else
		echo "I will add an entry for skkserv into NIS map"
		echo -n "Can I do it [n] ?"
		read answer
		case xx$answer in
		xxy*)
			echo -n "Where is NIS map directory [/var/yp] ?"
			read answer
			case xx$answer in
			xx) MAPDIR=/var/yp
			    ;;
			*)  MAPDIR=$answer
			    ;;
			esac
			if test ! -d $MAPDIR
			then
			  echo "Such a directory does not exist"
			  exit 1
			fi
			cp /etc/services /etc/services.org
  			echo "skkserv		1178/tcp" >> /etc/services
			(cd $MAPRDIR; make services)
  			echo "added skkserv into \"/etc/services\""
			exit 0
			;;
		*)	echo "You should add the following line by hand"
  			echo "skkserv		1178/tcp"
			exit 0
			;;
		esac
 	fi
	;;
3)	# NIS non-master 
 	if ypcat services | grep skkserv ; then
  		echo "skkserv already exists in NIS map services"
		echo "You don't have to do anything about services"
		exit 0
 	else
		echo "You cannot modify NIS map on this host"
		echo "You should add the following line by hand"
  		echo "skkserv		1178/tcp"
		exit 0
	fi
	;;
*)	echo "Out of range"
	;;
esac
