Home | History | Annotate | Line # | Download | only in dhcp
      1 #! /bin/sh
      2 #
      3 #	$NetBSD: dhcp2netbsd,v 1.3 2020/08/03 21:10:56 christos Exp $
      4 #
      5 # Copyright (c) 2003, 2011 The NetBSD Foundation, Inc.
      6 # 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 #
     17 # THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
     18 # ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
     19 # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     20 # PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
     21 # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     22 # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     23 # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     24 # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     25 # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     26 # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
     27 # POSSIBILITY OF SUCH DAMAGE.
     28 #
     29 # dhcp2netbsd:  convert a dhcp source tree into a
     30 # format suitable for import.  Works on current dir.
     31 # You can run this only once if you want it to work.
     32 #
     33 # based on file2netbsd
     34 #
     35 PROG="$(basename "$0")"
     36 
     37 if [ -z "$1" ]
     38 then
     39 	echo "Usage: $PROG <directory>" 1>&2
     40 	exit 1
     41 fi
     42 FILE="$1"
     43 
     44 ### Wipe out stuff we don't want
     45 rm -fr bind
     46 
     47 ### Remove the $'s around RCS tags
     48 cleantags "$FILE"
     49 
     50 ### Add NetBSD RCS Id
     51 find "$FILE" -type f -name '*.[chly]' -print | while read c; do
     52 	sed -e '1{/$NetBSD/!{i\
     53 /*	\$NetBSD\$	*/\
     54 
     55 };}' $c > /tmp/dhcp1$$
     56 mv /tmp/dhcp1$$ $c && echo did source mods for $c
     57 done
     58 
     59 find "$FILE" -type f -name '*.[cly]' -print | while read c; do
     60 sed -e \
     61 '/:\/\/www.isc.org/,/^ \*\// {
     62     /^ \*\//a\
     63 \
     64 #include <sys/cdefs.h>\
     65 __RCSID("\$NetBSD\$");
     66 }' $c > /tmp/dhcp1$$
     67 mv /tmp/dhcp1$$ $c && echo did source mods for $c
     68 done
     69 
     70 for f in omapip/inet_addr.c omapip/iscprint.c server/dhcpv6.c \
     71      server/dhcpleasequery.c server/ldap.c server/mdb6.c; do
     72 	c=$FILE/$f
     73 	sed -E -e \
     74 '/\* TH(E|IS) SOFTWARE/,/^ \*\// {
     75     /^ \*\//a\
     76 \
     77 #include <sys/cdefs.h>\
     78 __RCSID("\$NetBSD\$");\
     79 
     80 }' $c > /tmp/dhcp1$$
     81     mv /tmp/dhcp1$$ $c && echo did source mods for $c
     82 done
     83 
     84 
     85 
     86 #### Add RCS tags to man pages
     87 find "$FILE" -type f -name '*.[0-9]' -print | while read m; do
     88 	sed -e '1{/$NetBSD/!i\
     89 .\\"	\$NetBSD\$\
     90 .\\"
     91 
     92 }' $m > /tmp/dhcp2$$
     93 mv /tmp/dhcp2$$ $m && echo did manpage mods for $m
     94 done
     95 
     96 echo done
     97 
     98 echo You can import now.  Use the following command:
     99 echo cvs -d cvs.netbsd.org:/cvsroot import src/external/mpl/dhcp/dist ISC DHCPX_Y_Z
    100 
    101 exit 0
    102