MAKEDEV2manpage.sh revision 1.3 1 #!/bin/sh
2 #
3 # $NetBSD: MAKEDEV2manpage.sh,v 1.3 2003/02/14 15:20:20 grant Exp $
4 #
5 # Copyright (c) 2002
6 # Dieter Baron <dillo (at] NetBSD.org>. All rights reserved.
7 #
8 # Redistribution and use in source and binary forms, with or without
9 # modification, are permitted provided that the following conditions
10 # are met:
11 # 1. Redistributions of source code must retain the above copyright
12 # notice, this list of conditions and the following disclaimer.
13 # 2. Redistributions in binary form must reproduce the above copyright
14 # notice, this list of conditions and the following disclaimer in the
15 # documentation and/or other materials provided with the distribution.
16 # 3. Neither the name of the University nor the names of its contributors
17 # may be used to endorse or promote products derived from this software
18 # without specific prior written permission.
19 #
20 # THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21 # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 # ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24 # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25 # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26 # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27 # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28 # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29 # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30 # SUCH DAMAGE.
31 #
32 #
33 ###########################################################################
34 #
35 # Convert src/etc/etc.${ARCH}/MAKEDEV and
36 # src/share/man/man8/MAKEDEV.8.template to
37 # src/share/man/man8/man8.${ARCH}/MAKEDEV.8, replacing
38 # - @@@SPECIAL@@@ with all targets in the first section (all, std, ...)
39 # - @@@DEVICES@@@ with the remaining targets
40 # - @@@DATE@@@ with the date from the previous version, if found
41 # - @@@ARCH@@@ with the architecture name
42 # using src/share/man/man8/MAKEDEV2manpage.awk
43 #
44
45 AWK=${AWK:-awk}
46 DIFF=${DIFF:-diff}
47
48 mkmanpage() {
49 arch=$1;
50 shift;
51 manpage="man8.${arch}/MAKEDEV.8";
52 tmpfile="${manpage}.$$";
53
54 ${AWK} -vARCH=${arch} -f MAKEDEV2manpage.awk MAKEDEV.8.template \
55 > ${tmpfile} || { rm ${tmpfile}; exit 1; }
56 if ${DIFF} -I'^\.Dd ' -I'^\.\\" $NetBSD' -q ${manpage} ${tmpfile} \
57 >/dev/null
58 then
59 result='unchanged';
60 rm ${tmpfile};
61 else
62 result='updated';
63 if [ `wc -l < ${tmpfile}` -ne `wc -l < ${manpage}` ]
64 then
65 LC_ALL=C LC_CTYPE=C date=`date +"%B %e, %Y`
66 else
67 date=`sed -n 's/^\.Dd //p' ${manpage}`
68 fi
69 sed "s/@@@DATE@@@/$date/" ${tmpfile} > ${tmpfile}.2
70 rm ${tmpfile}
71 mv ${tmpfile}.2 ${manpage}
72 fi
73 printf "%-20s ${result}\n" ${arch}
74 }
75
76
77 if [ $# -ne 0 ]
78 then
79 archs="$@"
80 else
81 archs=`ls -d man8.* | sed 's/man8\.//'`
82 fi
83
84 for n in ${archs}
85 do
86 mkmanpage $n
87 done
88