xref: /netbsd/share/man/man8/MAKEDEV2manpage.sh (revision bf9ec67e)
1#!/bin/sh
2#
3#       $NetBSD: MAKEDEV2manpage.sh,v 1.1 2002/04/17 23:42:27 dillo Exp $
4#
5# Copyright (c) 2002
6#       Dieter Baron <dillo@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
45AWK=${AWK:-awk}
46DIFF=${DIFF:-diff}
47
48mkmanpage() {
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 %d, %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
77if [ $# -ne 0 ]
78then
79	archs="$@"
80else
81	archs=`ls -d man8.* | sed 's/man8\.//'`
82fi
83
84for n in ${archs}
85do
86	mkmanpage $n
87done
88