xref: /netbsd/share/man/tools/mcmp (revision 4296d7d4)
1*a50e92eeSmrgset x $*
2*a50e92eeSmrg. ./.param
3*a50e92eeSmrg
4*a50e92eeSmrgif test -z "$ID"
5*a50e92eeSmrgthen
6*a50e92eeSmrg	DIR2=/usr/nman
7*a50e92eeSmrgelse
8*a50e92eeSmrg	DIR2=$ID
9*a50e92eeSmrgfi
10*a50e92eeSmrg
11*a50e92eeSmrgif test ! -d $DIR2
12*a50e92eeSmrgthen
13*a50e92eeSmrg	echo "mcmp: $DIR2 - not a directory"
14*a50e92eeSmrg	exit
15*a50e92eeSmrgfi
16*a50e92eeSmrg
17*a50e92eeSmrgfor dir in $DIRLST
18*a50e92eeSmrgdo
19*a50e92eeSmrg	date > $TMPDIR/tmp3.$$
20*a50e92eeSmrg	echo >> $TMPDIR/tmp3.$$
21*a50e92eeSmrg	cd $MANDIR/man$dir
22*a50e92eeSmrg	echo "Comparison of $MANDIR/man$dir and $DIR2/man$dir:">>$TMPDIR/tmp3.$$
23*a50e92eeSmrg	echo >> $TMPDIR/tmp3.$$
24*a50e92eeSmrg	ls $FILLST > $TMPDIR/tmp1.$$
25*a50e92eeSmrg	cd $DIR2/man$dir
26*a50e92eeSmrg	ls $FILLST > $TMPDIR/tmp2.$$
27*a50e92eeSmrg	cd $MANDIR/man$dir
28*a50e92eeSmrg	echo "Files found in $MANDIR/man$dir only:" >> $TMPDIR/tmp3.$$
29*a50e92eeSmrg	comm -23 $TMPDIR/tmp1.$$ $TMPDIR/tmp2.$$ | sed "s/^/	/" >> $TMPDIR/tmp3.$$
30*a50e92eeSmrg	echo >> $TMPDIR/tmp3.$$
31*a50e92eeSmrg	echo "Files found in $DIR2/man$dir only:" >> $TMPDIR/tmp3.$$
32*a50e92eeSmrg	comm -13 $TMPDIR/tmp1.$$ $TMPDIR/tmp2.$$ | sed "s/^/	/" >> $TMPDIR/tmp3.$$
33*a50e92eeSmrg	echo >> $TMPDIR/tmp3.$$
34*a50e92eeSmrg	comm -12 $TMPDIR/tmp1.$$ $TMPDIR/tmp2.$$ > $TMPDIR/tmp.$$
35*a50e92eeSmrg	rm -f $TMPDIR/tmp1.$$ $TMPDIR/tmp2.$$
36*a50e92eeSmrg	if [ ! -s $TMPDIR/tmp.$$ ]
37*a50e92eeSmrg	then
38*a50e92eeSmrg		echo "No common files for comparison" >> $TMPDIR/tmp3.$$
39*a50e92eeSmrg		if [ -n "$LFLAG" ]
40*a50e92eeSmrg		then
41*a50e92eeSmrg			mv $TMPDIR/tmp3.$$ $TMPDIR/diff$dir
42*a50e92eeSmrg		else
43*a50e92eeSmrg			mv $TMPDIR/tmp3.$$ $TMPDIR/cmp$dir
44*a50e92eeSmrg		fi
45*a50e92eeSmrg		continue
46*a50e92eeSmrg	fi
47*a50e92eeSmrg	if [ -n "$LFLAG" ]
48*a50e92eeSmrg	then
49*a50e92eeSmrg		mv $TMPDIR/tmp3.$$ $TMPDIR/diff$dir
50*a50e92eeSmrg		echo "Diffs of common files ($MANDIR=< $DIR2=>):" >> $TMPDIR/diff$dir
51*a50e92eeSmrg	else
52*a50e92eeSmrg		mv $TMPDIR/tmp3.$$ $TMPDIR/cmp$dir
53*a50e92eeSmrg		echo "Files that differ:" >> $TMPDIR/cmp$dir
54*a50e92eeSmrg	fi
55*a50e92eeSmrg	while read file
56*a50e92eeSmrg	do
57*a50e92eeSmrg		if [ -z "$LFLAG" ]
58*a50e92eeSmrg		then
59*a50e92eeSmrg			cmp -s $file $DIR2/man$dir/$file
60*a50e92eeSmrg			if [ $? -ne 0 ]
61*a50e92eeSmrg			then
62*a50e92eeSmrg				echo "\\t$file" >> $TMPDIR/cmp$dir
63*a50e92eeSmrg			fi
64*a50e92eeSmrg		else
65*a50e92eeSmrg			diff $file $DIR2/man$dir/$file > $TMPDIR/tmp1.$$
66*a50e92eeSmrg			if [ $? -eq 1 ]
67*a50e92eeSmrg			then
68*a50e92eeSmrg				echo "\\n\\t****$file****" >> $TMPDIR/diff$dir
69*a50e92eeSmrg				cat $TMPDIR/tmp1.$$ >> $TMPDIR/diff$dir
70*a50e92eeSmrg			fi
71*a50e92eeSmrg		fi
72*a50e92eeSmrg	done < $TMPDIR/tmp.$$
73*a50e92eeSmrg	rm -f $TMPDIR/tmp1.$$
74*a50e92eeSmrgdone
75*a50e92eeSmrg
76*a50e92eeSmrgrm -f $TMPDIR/tmp.$$
77