1#!/bin/sh 2# 3# $NetBSD: MAKEDEV2manpage.sh,v 1.2 2002/08/02 23:35:06 wiz 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 %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 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