#!/bin/sh

#
# (c) spd_at_daphne.cps.unizar.es
# Thu Nov 18 09:05:31 CET 2004
# License: Cantoware - Si te gusta ya te puedes dar con un canto en los dientes
#
# This script change some group name
# Needs: root privileges
# Requires:
#	user homes at /export/home/<group>/<user>
#	auto_home setup
#	
#


ECHO=/usr/bin/echo
DO=

set -- `getopt hqn $*`
for i in $*
do
	case $i in
	-q) ECHO=:; shift;;
	-n) DO=echo; shift;;
	-h)
		/bin/echo "Use: `basename $0` [-hqn] oldname newname"
		/bin/echo "-q: quiet"
		/bin/echo "-n: do nothing"
		exit 0
		;;
	esac
done

umask 077

set -e

oldname=$2
newname=$3

if [ "_$oldname" = "_" ]
then
	echo "no old group name present in command line"
	exit 1
fi
if [ "_$newname" = "_" ]
then
	echo "no new group name present in command line"
	exit 1
fi

domain=`domainname`

nismatch name=$oldname group.org_dir && \
(
	nismatch name=$newname group.org_dir || \
	(
		$DO nistbladm -m name=$newname "[name=$oldname]",group.org_dir
		$DO mv /export/home/$oldname /export/home/$newname
		niscat auto_home.org_dir | fgrep "/export/home/$oldname" |\
		sed -e "s,/export/home/$oldname/,/export/home/$newname/," >\
		auto_home.tmp
		$DO nisaddent -vf auto_home.tmp -t auto_home.org_dir key-value
	)
) || \
echo group \"$oldname\" not found in NIS+


