1#!/bin/sh
2
3#KHL 2005-02-18  space removed from above #!/bin/sh
4
5case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
6	*c*,-n*) ECHO_N= ECHO_C='
7' ECHO_T='      ' ;;
8  *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;;
9  *)       ECHO_N= ECHO_C='\c' ECHO_T= ;;
10esac
11
12EXECUTABLES="dirvish dirvish-runall dirvish-expire dirvish-locate"
13MANPAGES="dirvish.8 dirvish-runall.8 dirvish-expire.8 dirvish-locate.8"
14MANPAGES="$MANPAGES dirvish.conf.5"
15
16while :
17do
18	PERL=`which perl`
19	if [ -z "$PERL" ]
20	then
21		PERL=/usr/bin/perl
22	fi
23	echo $ECHO_N "perl to use ($PERL) $ECHO_C"
24	read ans
25	if [ -n "$ans" ]
26	then
27		PERL="$ans"
28	fi
29
30	until [ -n "$PREFIX_OK" ]
31	do
32		EXECDIR="/usr/sbin"
33		CONFDIR="/etc/dirvish"
34		MANDIR="/usr/share/man"
35
36		echo $ECHO_N "What installation prefix should be used? ($PREFIX) $ECHO_C"
37		read ans
38		if [ -n "$ans" ]
39		then
40			PREFIX="$ans"
41                        # KHL 2005-02-18  == changed to = in "if" below
42			if [ "$PREFIX" = "/" ]
43			then
44				PREFIX=""
45			fi
46		fi
47		if [ -n "$PREFIX" -a  ! -d "$PREFIX" ]
48		then
49			echo $ECHO_N "$PREFIX doesn't exist, create it? (n) $ECHO_C"
50			read ans
51			if [ `expr "$ans" : '[yY]'` -ne 0 ]
52			then
53				CREATE_PREFIX="$PREFIX directory will be created"
54				PREFIX_OK="yes"
55			else
56				continue
57			fi
58		else
59			PREFIX_OK="yes"
60		fi
61
62		if [ -d "$PREFIX/sbin" ]
63		then
64			BINDIR=$PREFIX/sbin
65		else
66			BINDIR=$PREFIX/bin
67		fi
68
69		if [ -d "$PREFIX/share/man" ]
70		then
71			MANDIR=$PREFIX/share/man
72		elif [ -d "$PREFIX/usr/share/man" ]
73		then
74			MANDIR=$PREFIX/usr/share/man
75		elif [ -d "$PREFIX/usr/man" ]
76		then
77			MANDIR="$PREFIX/usr/man" ]
78		else
79			MANDIR=$PREFIX/man
80		fi
81		if [ `expr "$PREFIX" : '.*dirvish.*'` -gt 0 ]
82		then
83			CONFDIR="$PREFIX/etc"
84		else
85			CONFDIR="/etc/dirvish"
86		fi
87	done
88
89
90	echo $ECHO_N "Directory to install executables? ($BINDIR) $ECHO_C"
91	read ans
92	if [ -n "$ans" ]
93	then
94		BINDIR="$ans"
95	fi
96
97	echo $ECHO_N "Directory to install MANPAGES? ($MANDIR) $ECHO_C"
98	read ans
99	if [ -n "$ans" ]
100	then
101		MANDIR="$ans"
102	fi
103
104	echo $ECHO_N "Configuration directory ($CONFDIR) $ECHO_C"
105	read ans
106	if [ -n "$ans" ]
107	then
108		CONFDIR="$ans"
109	fi
110
111	cat <<EOSTAT
112
113Perl executable to use is $PERL
114Dirvish executables to be installed in $BINDIR
115Dirvish manpages to be installed in $MANDIR
116Dirvish will expect its configuration files in $CONFDIR
117
118$CREATE_PREFIX
119
120EOSTAT
121
122	echo $ECHO_N "Is this correct? (no/yes/quit) $ECHO_C"
123	read ans
124	if [ `expr "$ans" : '[qQ]'` -ne 0 ]
125	then
126		exit
127	elif [ `expr "$ans" : '[yY]'` -ne 0 ]
128	then
129		break
130	fi
131done
132
133HEADER="#!$PERL
134
135\$CONFDIR = \"$CONFDIR\";
136
137"
138
139for f in $EXECUTABLES
140do
141	echo "$HEADER" >$f
142	cat $f.pl >>$f
143	cat loadconfig.pl >>$f
144	chmod 755 $f
145done
146
147echo
148echo "Executables created."
149echo
150
151echo $ECHO_N "Install executables and manpages? (no/yes) $ECHO_C"
152read ans
153if [ `expr "$ans" : '[yY]'` -ne 0 ]
154then
155	echo
156	if [ -n "$CREATE_PREFIX" ]
157	then
158		mkdir -p "$PREFIX"
159	fi
160	if [ ! -d $BINDIR ]
161	then
162		if [ -z "$CREATE_PREFIX" -o `expr "$BINDIR" : "$PREFIX"` -ne `expr "$PREFIX" : '.*'` ]
163		then
164			echo "$BINDIR doesn't exist, creating"
165		fi
166		mkdir -p "$BINDIR"
167	fi
168	if [ ! -d $MANDIR ]
169	then
170		if [ -z "$CREATE_PREFIX" -o `expr "$MANDIR" : "$PREFIX"` -ne `expr "$PREFIX" : '.*'` ]
171		then
172			echo "$MANDIR doesn't exist, creating"
173		fi
174		mkdir -p "$MANDIR"
175	fi
176
177	if [ ! -d "$CONFDIR" ]
178	then
179		mkdir -p "$CONFDIR"
180	fi
181
182	for f in $EXECUTABLES
183	do
184		echo "installing $BINDIR/$f"
185		cp $f $BINDIR/$f
186		chmod 755 $BINDIR/$f
187	done
188	for f in $MANPAGES
189	do
190		s=`expr "$f" : '.*\(.\)$'`
191		if [ ! -d "$MANDIR/man$s" ]
192		then
193			mkdir -p "$MANDIR/man$s"
194		fi
195		echo "installing $MANDIR/man$s/$f"
196		cp $f $MANDIR/man$s/$f
197		chmod 644 $MANDIR/man$s/$f
198	done
199	echo
200	echo "Installation complete"
201fi
202
203echo $ECHO_N "Clean installation directory? (no/yes) $ECHO_C"
204read ans
205if [ `expr "$ans" : '[yY]'` -ne 0 ]
206then
207	for f in $EXECUTABLES
208	do
209		rm $f
210	done
211	echo "Install directory cleaned."
212fi
213