#!/bin/bash
#
# /etc/namazu.conf configuration tool for Debian GNU/Linux
# 
# Copyright 1998 (c) Takuro KITAME <kitame@debian.or.jp>
# Lastupdate: Wed Sep 16 10:10:12 1998.
# Depend: bash,sed-ja ?

# Modified: 1998-09-16 only administrator address

if test root != "`whoami`" 
then 
    echo "You are not Superuser."
    echo "exit"
    exit
fi

CONF="/etc/namazu/namazu.conf"
CONFTMP="/tmp/namazu.conf.tmp"
cp $CONF $CONFTMP
#
if [ -z "`dnsdomainname`" ]; then
    DEFDOMAIN="foo.or.jp"
else
    DEFDOMAIN="`dnsdomainname`"
fi
DEFADDR="`grep ^ADMIN $CONF | sed -e \"s/^ADMIN//g\"`"
DEFINDEX="`grep ^INDEX $CONF | sed -e \"s/^INDEX//g\"`"
DEFREPLACE="`grep ^REPLACE $CONF | sed -e \"s/^REPLACE//g\"`"
DEFBASE="`grep ^BASE $CONF | sed -e \"s/^BASE//g\"`"
DEFWAKACHI="`grep ^WAKACHI $CONF | sed -e \"s/^WAKACHI//g\"`"
DEFTMP="`grep ^TMP $CONF | sed -e \"s/^TMP//g\"`"
DEFLOGGING="`grep ^LOGGING $CONF | sed -e \"s/^LOGGING//g\"`"

if [ -z "$DEFADDR" ]; then
    DEFADDR="webmaster@$DEFDOMAIN"
fi

if [ -z "$DEFINDEX" ]; then
    DEFINDEX="/var/lib/namazu/index"
fi
if [ -z "$DEFREPLACE" ]; then
			DEFREPLACE="/home/foo/public_html/	http://www.$DEFDOMAIN/%7Efoo/"
fi
if [ -z "$DEFBASE" ]; then
    DEFBASE="file://localhost/home/foo/documents/"
fi
if [ -z "$DEFWAKACHI" ]; then
    DEFWAKACHI="/usr/bin/kakasi"
fi
if [ -z "$DEFTMP" ]; then
    DEFTMP="/tmp"
fi
if [ -z "$DEFLOGGING" ]; then
    DEFLOGGING="OFF"
fi
DEFADDR=`echo $DEFADDR | sed -e 's/[	]*//g'`
DEFADDR=`echo $DEFADDR | sed -e 's/[ ]*//g'`
DEFINDEX=`echo $DEFINDEX | sed -e 's/[	]*//g'`
DEFREPLACE=`echo $DEFREPLACE | sed -e 's/[	]*//g'`
DEFBASE=`echo $DEFBASE | sed -e 's/[	]*//g'`
DEFWAKACHI=`echo $DEFWAKACHI | sed -e 's/[	]*//g'`
DEFTMP=`echo $DEFTMP | sed -e 's/[	]*//g'`
DEFLOGGING=`echo $DEFLOGGING | sed -e 's/[	]*//g'`

#
#
echo "Enter administrator e-mail address [$DEFADDR]:"
echo -n "> "
read SETADDR
if [ -z $SETADDR ]; then
    SETADDR=$DEFADDR
fi
echo $SETADDR

#
# edit /etc/namazu.conf
#
echo ""
echo ""
echo "INDEX: Pathname where index file (NMZ.*) is placed."
echo "Enter INDEX value [$DEFINDEX]:"
echo -n "> "
read SETINDEX
if [ -z $SETINDEX ]; then
    SETINDEX=$DEFINDEX
fi
echo $SETINDEX
#
#
echo ""
echo ""
echo "REPLACE : Replace URL string for search result output."
echo "          describe by FROM TO order. if you do not want to" 
echo "          do this replacement in command line use, you can"
echo "          run 'namazu' with -U option and avoid this processing."
echo "Enter REPLACE value [$DEFREPLACE]:"
read SETREPLACE
if [ -z $SETREPLACE ]; then
 	SETREPLACE=$DEFREPLACE
else
	SETREPLACE="$SETREPLACE"
fi
echo $SETREPLACE
#
#
echo ""
echo ""
echo "BASE : append <BASE HREF=\"...\"> to search result HTML."
echo "Enter BASE value [$DEFBASE]:"
echo -n "> "
read SETBASE
if [ -z $SETBASE ]; then
    SETBASE=$DEFBASE
fi
echo $SETBASE
#
#
echo ""
echo ""
echo "WAKACHI : Japanese processor's pathname."
echo "         (KAKASI or ChaSen you defined at make time)"
echo "Enter WAKACHI value [$DEFWAKACHI]:"
echo -n "> "
read SETWAKACHI
if [ -z $SETWAKACHI ]; then
    SETWAKACHI=$DEFWAKACHI
fi
echo $SETWAKACHI
#
#
echo ""
echo ""
echo "TMP : Temporary directory."
echo "Enter TMP value [$DEFTMP]:"
echo -n "> "
read SETTMP
if [ -z $SETTMP ]; then
    SETTMP=$DEFTMP
fi
echo $SETTMP
#
#
echo ""
echo ""
echo "LOGGING : set OFF(N) to turn off search keyword logging." 
echo "          set ON(Y) to turn on logging (to NMZ.slog)"
if [ $DEFLOGGING = OFF ]; then
    echo -n "Logging? [y/N]: "
    read YN
    test -n "$YN" || YN="N"
else
    echo -n "Logging? [Y/n]: "
    read YN
    test -n "$YN" || YN="Y"
fi
if [ $YN = y -o $YN = Y ]; then
	SETLOGGING="ON"
else
	SETLOGGING="OFF"
fi
echo $SETLOGGING
#
# confirm value
#
echo "Administrator address: $SETADDR"
echo "INDEX   : $SETINDEX"
echo "REPLACE : $SETREPLACE"
echo "BASE    : $SETBASE"
echo "WAKACHI : $SETWAKACHI"
echo "TMP     : $SETTMP"
echo "LOGGING : $SETLOGGING"
echo ""
echo -n "Are there correct? [y/N]: "
read YN
test -n "$YN" || YN="N"
if [ $YN = Y -o $YN = y ]; then
    echo ""
else
    echo "not changed."
    echo ""
    exit
fi
#
# Out
#
#SETADDR=`echo $SETADDR | sed -e 's/\//\\\\\//g'`
#SETINDEX=`echo $SETINDEX | sed -e 's/\//\\\\\//g'`
#SETBASE=`echo $SETBASE | sed -e 's/\//\\\\\//g'`
#SETREPLACE=`echo $SETREPLACE | sed -e 's/\//\\\\\//g'`
SETREPLACE=`echo $SETREPLACE | sed -e 's/ /	/g'`
#SETWAKACHI=`echo $SETWAKACHI | sed -e 's/\//\\\\\//g'`
#SETTMP=`echo $SETTMP | sed -e 's/\//\\\\\//g'`
#SETLOGGING=`echo $SETLOGGING | sed -e 's/\//\\\\\//g'`
#
# real edit namazu.conf
#
sed -e "/^INDEX.*/d" \
    -e "/^REPLACE.*/d" \
    -e "/^BASE.*/d" \
    -e "/^WAKACHI.*/d" \
    -e "/^TMP.*/d" \
    -e "/^LOGGING.*/d" \
    -e "/^ADMIN.*/d" \
		-e "/^# Generated by namazuconfig at.*/d" \
    $CONF > $CONFTMP

echo "# Generated by namazuconfig at <`date`>" >> $CONFTMP
echo "INDEX	$SETINDEX" >> $CONFTMP
echo "REPLACE	$SETREPLACE" >> $CONFTMP
echo "BASE	$SETBASE" >> $CONFTMP
echo "WAKACHI	$SETWAKACHI" >> $CONFTMP
echo "TMP	$SETTMP" >> $CONFTMP
echo "LOGGING	$SETLOGGING" >> $CONFTMP
echo "ADMIN	$SETADDR" >> $CONFTMP


#sed -e "s/^INDEX.*/INDEX	$SETINDEX/g" \
#    -e "s/^REPLACE.*/REPLACE	$SETREPLACE/g" \
#    -e "s/^BASE.*/BASE	$SETBASE/g" \
#    -e "s/^WAKACHI.*/WAKACHI	$SETWAKACHI/g" \
#    -e "s/^TMP.*/TMP	$SETTMP/g" \
#    -e "s/^LOGGING.*/LOGGING	$SETLOGGING/g" \
#    -e "s/^ADMIN.*/ADMIN	$SETADDR/g" \
#    $CONF > $CONFTMP

cp $CONF $CONF.old
cp $CONFTMP $CONF
echo "Copied old namazu.conf to $CONF.old"
echo ""
rm -f $CONFTMP

exit
