Home | History | Annotate | Line # | Download | only in man8
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