#!/bin/sh
#
# $Header: mkmaneuc,v 4.300 91/06/27 20:40:00 root Rel41 $ SONY;
#
# **** Japanese EUC on-line manual make procedure   ****'
#
# This command convert to Japanese EUC file '
# from Japanese Shift JIS file.'
#
# /usr/man/ja_JP.SJIS  --> /usr/man/ja_JP.EUC'

PATH=/usr/ucb:/usr/bin:/bin:/usr/etc:/etc:/usr/sony/bin
DELETE=false
LOOP=true
ADDINSTALL=false
NADDINSTALL=true
SRCCODE=ja_JP.SJIS
DSTCODE=ja_JP.EUC
MANDIR=/usr/man
CATDIR=/var/man
JMANDIR=/usr/jman
JCATDIR=/var/jman
SUFFIXA="0 1 2 3 4 5 6 7 8 l n o p s"
SUFFIX="1 2 3 4 5 6 7 8 l n o p s"

case "$1" in
"")	;;
-se)	;;
-es)	SRCCODE=ja_JP.EUC; DSTCODE=ja_JP.SJIS ;;
-je)	ADDINSTALL=true ; DELETE=true ;;
-js)	ADDINSTALL=true ; DELETE=true ; DSTCODE=ja_JP.SJIS ;;
*)	cat << EOF
usage: mkmaneuc [ -se | -es | -js | -je ]
Convert Kanji code in Japanese online manual.
-se : /usr/man/ja_JP.SJIS ---> /usr/man/ja_JP.EUC (default)
-es : /usr/man/ja_JP.EUC  ---> /usr/man/ja_JP.SJIS
-js : /usr/jman  ---> /usr/man/ja_JP.SJIS
-je : /usr/jman  ---> /usr/man/ja_JP.EUC

NOTES	"-js" and "-je" options cannot use, when /usr/man/ja_JP.SJIS exists.
EOF
exit 1
;;

esac

$ADDINSTALL && test -d /usr/jman && \
if [ -d /usr/man/ja_JP.SJIS ] ; then
	cat << EOF
mkmaneuc: "-js" "-je" option cannot use, when /usr/man/ja_JP.SJIS exists.
Because /usr/jman may be symbolic link to /usr/man/ja_JP.SJIS.
EOF
	exit 1
fi

case $ADDINSTALL in
false)	if [ -d $MANDIR/$DSTCODE ] ; then
		df $MANDIR/$DSTCODE/
	else
		df $MANDIR/
	fi
	NEED=`du -s $MANDIR/$SRCCODE | sed 's/	.*//'`

	cat << EOF
Making $DSTCODE manuals requires $NEED kbytes of free disk space
in $MANDIR.
EOF

	while $LOOP
	do
		echo -n "Delete $SRCCODE files (y/n) ? "

		read key1
		case $key1 in
		y*|Y*)	DELETE=true ; LOOP=false ;;
		n*|N*)	DELETE=false ; LOOP=false ;;
		*)	echo "please enter 'y' or 'n'"
		esac
	done
	;;
esac

case $SRCCODE in
*SJIS)	case $DSTCODE in
	*EUC)	JCONV="jconv -se" ;;
	*SJIS)	JCONV="cat" ;;
	*)	echo ""
		exit 1		;;
	esac
	;;
*EUC)	case $DSTCODE in
	*SJIS)	JCONV="jconv -es" ;;
	*)	echo ""
		exit 1		;;
	esac
	;;
esac


umask 002

if $ADDINSTALL; then
	cd $JMANDIR 
else
	cd $MANDIR/$SRCCODE
fi

umask 022
mkdir /usr/man/$DSTCODE 2> /dev/null

for i in $SUFFIXA
do
	if $ADDINSTALL; then
		SOURCE=$JMANDIR/man$i
		CATSOURCE=$JCATDIR/cat$i
	else
		SOURCE=$MANDIR/$SRCCODE/man$i
		CATSOURCE=$CATDIR/$SRCCODE/cat$i
	fi
	DEST=$MANDIR/$DSTCODE/man$i

	umask 022
	mkdir ${DEST} 2> /dev/null
	fn=`/bin/ls ${SOURCE} 2> /dev/null`
	umask 222
	for n in $fn
	do       
		$JCONV ${SOURCE}/$n  > ${DEST}/$n
		$DELETE && rm -f ${SOURCE}/$n ${CATSOURCE}/$n 2> /dev/null
	done
	$DELETE && rmdir ${SOURCE} ${CATSOURCE} 2> /dev/null
done

umask 0
if $DELETE
then
	if $ADDINSTALL; then
		rm -f $JMANDIR/whatis 2> /dev/null
		rm -f $JMANDIR/cat* 2> /dev/null
		rm    $JMANDIR $JCATDIR 2> /dev/null
		rmdir $JMANDIR $JCATDIR 2> /dev/null
		case $DSTCODE in
	       	*SJIS)	test -d /usr/jman || ln -s man/ja_JP.SJIS /usr/jman
			test -d /var/jman || ln -s man/ja_JP.SJIS /var/jman ;;
		esac
		
	else
		case $SRCCODE in
		*SJIS)	rm -f /usr/jman /var/jman ;;
	       	*EUC)	test -d /usr/jman || ln -s man/ja_JP.SJIS /usr/jman
			test -d /var/jman || ln -s man/ja_JP.SJIS /var/jman ;;
		esac
		rm -f $MANDIR/$SRCCODE/whatis
		rm -f $MANDIR/$SRCCODE/cat*
		rmdir $MANDIR/$SRCCODE $CATDIR/$SRCCODE 2> /dev/null
	fi
fi

umask 022
mkdir $CATDIR $CATDIR/$DSTCODE 2> /dev/null 
cd $MANDIR/$DSTCODE
umask 0

for i in $SUFFIX
do
	DEST=$CATDIR/$DSTCODE/cat$i
	mkdir ${DEST} 2> /dev/null
	test -d cat$i || ln -s ../../..${DEST} cat$i
done

LANG=$DSTCODE /etc/catman -w

exit 0
