Home | History | Annotate | Line # | Download | only in dist
      1 #! /bin/sh
      2 #
      3 #	$NetBSD: libbind2netbsd,v 1.3 2024/09/08 10:01:59 rillig Exp $
      4 #
      5 # Copyright (c) 2000 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 # libbind2netbsd:  convert a bind source tree into a
     30 # netbsd libbind source tree, under src/external/bsd,
     31 # based on bind2netbsd by Bernd Ernesti and changes by Simon Burge
     32 #
     33 # Rough instructions for importing new bind release:
     34 #
     35 #	$ cd /some/where/temporary
     36 #	$ tar xpfz /new/bind/release/tar/file
     37 #	$ sh /usr/src/external/bsd/libbind/dist/libbind2netbsd libbind-6.x.y `pwd`
     38 #	$ cd src/external/bsd/libbind/dist
     39 #	$ cvs import -m "Import libbind 6.x.y" src/external/bsd/libbind/dist ISC libbind-6-x-y
     40 #	$ cd ../../../../../libbind-6.x.y
     41 #	$ run ./configure
     42 #	$ run make
     43 #	- use the binclude4netbsd to create and import the new headers in
     44 #	  /usr/src/usr.sbin/bind/include
     45 #	- check makefiles to see if any extra sources have been added.
     46 #	- update distrib/sets if necessary.
     47 
     48 if [ $# -ne 2 ]; then echo "bind2netbsd src dest"; exit 1; fi
     49 
     50 r=$1
     51 d=$2/src/external/bsd/libbind/dist
     52 
     53 case "$d" in
     54 	/*)
     55 		;;
     56 	*)
     57 		d=`/bin/pwd`/$d
     58 		;;
     59 esac
     60 
     61 case "$r" in
     62 	/*)
     63 		;;
     64 	*)
     65 		r=`/bin/pwd`/$r
     66 		;;
     67 esac
     68 
     69 echo preparing directory $d
     70 rm -rf $d
     71 mkdir -p $d
     72 
     73 ### Copy the files and directories
     74 echo copying $r to $d
     75 cd $r
     76 pax -rw * $d
     77 
     78 ### Remove the $'s around RCS tags
     79 cleantags $d
     80 
     81 ### Add our NetBSD RCS Id
     82 find $d -type f -name '*.[chly]' -print | while read c; do
     83 	sed 1q < $c | grep -q '\$NetBSD' || (
     84 echo "/*	\$NetBSD\$	*/" >/tmp/bind3n$$
     85 echo "" >>/tmp/bind3n$$
     86 cat $c  >> /tmp/bind3n$$
     87 mv /tmp/bind3n$$ $c && echo added NetBSD RCS tag to $c
     88 	)
     89 done
     90 
     91 find $d -type f -name '*.[0-9]' -print | while read m; do
     92 	sed 1q < $m | grep -q '\$NetBSD' || (
     93 echo ".\\\"	\$NetBSD\$" >/tmp/bind2m$$
     94 echo ".\\\"" >>/tmp/bind2m$$
     95 cat $m >> /tmp/bind2m$$
     96 mv /tmp/bind2m$$ $m && echo added NetBSD RCS tag to $m
     97 	)
     98 done
     99 
    100 find $d -type f -name '*.texi' -print | while read t; do
    101         sed "2 s/^/@c \$NetBSD\$\\
    102 /" < $t > /tmp/bind4t$$
    103 	mv /tmp/bind4t$$ $t && echo added NetBSD RCS tag to $t
    104 done
    105 
    106 echo done
    107 
    108 ### Clean up any CVS directories that might be around.
    109 echo "cleaning up CVS residue."
    110 (
    111 	cd $d
    112 	find . -type d -name "CVS" -print | xargs rm -r
    113 )
    114 echo done
    115 
    116 ### Fixing file and directory permissions.
    117 echo "Fixing file/directory permissions."
    118 (
    119 	cd $d
    120 	find . -type f -print | xargs chmod u+rw,go+r
    121 	find . -type d -print | xargs chmod u+rwx,go+rx
    122 )
    123 echo done
    124 
    125 exit 0
    126