1*00b67f09SDavid van Moolenbroek#! /bin/sh 2*00b67f09SDavid van Moolenbroek# 3*00b67f09SDavid van Moolenbroek# $NetBSD: bind2netbsd,v 1.2 2014/03/06 02:12:56 christos Exp $ 4*00b67f09SDavid van Moolenbroek# 5*00b67f09SDavid van Moolenbroek# Copyright (c) 2000 The NetBSD Foundation, Inc. 6*00b67f09SDavid van Moolenbroek# All rights reserved. 7*00b67f09SDavid van Moolenbroek# 8*00b67f09SDavid van Moolenbroek# Redistribution and use in source and binary forms, with or without 9*00b67f09SDavid van Moolenbroek# modification, are permitted provided that the following conditions 10*00b67f09SDavid van Moolenbroek# are met: 11*00b67f09SDavid van Moolenbroek# 1. Redistributions of source code must retain the above copyright 12*00b67f09SDavid van Moolenbroek# notice, this list of conditions and the following disclaimer. 13*00b67f09SDavid van Moolenbroek# 2. Redistributions in binary form must reproduce the above copyright 14*00b67f09SDavid van Moolenbroek# notice, this list of conditions and the following disclaimer in the 15*00b67f09SDavid van Moolenbroek# documentation and/or other materials provided with the distribution. 16*00b67f09SDavid van Moolenbroek# 17*00b67f09SDavid van Moolenbroek# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 18*00b67f09SDavid van Moolenbroek# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 19*00b67f09SDavid van Moolenbroek# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 20*00b67f09SDavid van Moolenbroek# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 21*00b67f09SDavid van Moolenbroek# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 22*00b67f09SDavid van Moolenbroek# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 23*00b67f09SDavid van Moolenbroek# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 24*00b67f09SDavid van Moolenbroek# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 25*00b67f09SDavid van Moolenbroek# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 26*00b67f09SDavid van Moolenbroek# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 27*00b67f09SDavid van Moolenbroek# POSSIBILITY OF SUCH DAMAGE. 28*00b67f09SDavid van Moolenbroek# 29*00b67f09SDavid van Moolenbroek# bind2netbsd: convert a bind tree into a 30*00b67f09SDavid van Moolenbroek# netbsd bind source tree, under src/external/bsd/bind/dist, 31*00b67f09SDavid van Moolenbroek# based on bind2netbsd by Bernd Ernesti and changes by Simon Burge 32*00b67f09SDavid van Moolenbroek# 33*00b67f09SDavid van Moolenbroek# Rough instructions for importing new bind release: 34*00b67f09SDavid van Moolenbroek# 35*00b67f09SDavid van Moolenbroek# $ cd /some/where/temporary 36*00b67f09SDavid van Moolenbroek# $ tar xpfz /new/bind/release/tar/file 37*00b67f09SDavid van Moolenbroek# $ sh /usr/src/external/bsd/bind/dist/bind2netbsd bind-9.x.y `pwd` 38*00b67f09SDavid van Moolenbroek# $ cd src/external/bsd/bind/dist 39*00b67f09SDavid van Moolenbroek# $ cvs -d cvs.netbsd.org:/cvsroot import -m "Import bind 9.x.y" src/external/bsd/bind/dist ISC bind-9-x-y 40*00b67f09SDavid van Moolenbroek# $ cd ../../../../../bind-9.x.y 41*00b67f09SDavid van Moolenbroek# $ run ./configure 42*00b67f09SDavid van Moolenbroek# $ run make 43*00b67f09SDavid van Moolenbroek# - use the binclude4netbsd to create and import the new headers in 44*00b67f09SDavid van Moolenbroek# /usr/src/external/bsd/bind/include 45*00b67f09SDavid van Moolenbroek# - check makefiles to see if any extra sources have been added. 46*00b67f09SDavid van Moolenbroek# - update distrib/sets if necessary. 47*00b67f09SDavid van Moolenbroek# 48*00b67f09SDavid van Moolenbroek# Note that properly the import message should include a short summary 49*00b67f09SDavid van Moolenbroek# of changes since the previous import rather than just "Import bind 9.x.y". 50*00b67f09SDavid van Moolenbroek# 51*00b67f09SDavid van Moolenbroek 52*00b67f09SDavid van Moolenbroekif [ $# -ne 2 ]; then echo "bind2netbsd src dest"; exit 1; fi 53*00b67f09SDavid van Moolenbroek 54*00b67f09SDavid van Moolenbroekr=$1 55*00b67f09SDavid van Moolenbroekd=$2/src/external/bsd/bind/dist 56*00b67f09SDavid van Moolenbroek 57*00b67f09SDavid van Moolenbroekcase "$d" in 58*00b67f09SDavid van Moolenbroek /*) 59*00b67f09SDavid van Moolenbroek ;; 60*00b67f09SDavid van Moolenbroek *) 61*00b67f09SDavid van Moolenbroek d=`/bin/pwd`/$d 62*00b67f09SDavid van Moolenbroek ;; 63*00b67f09SDavid van Moolenbroekesac 64*00b67f09SDavid van Moolenbroek 65*00b67f09SDavid van Moolenbroekcase "$r" in 66*00b67f09SDavid van Moolenbroek /*) 67*00b67f09SDavid van Moolenbroek ;; 68*00b67f09SDavid van Moolenbroek *) 69*00b67f09SDavid van Moolenbroek r=`/bin/pwd`/$r 70*00b67f09SDavid van Moolenbroek ;; 71*00b67f09SDavid van Moolenbroekesac 72*00b67f09SDavid van Moolenbroek 73*00b67f09SDavid van Moolenbroekecho preparing directory $d 74*00b67f09SDavid van Moolenbroekrm -rf $d 75*00b67f09SDavid van Moolenbroekmkdir -p $d 76*00b67f09SDavid van Moolenbroek 77*00b67f09SDavid van Moolenbroek### Copy the files and directories 78*00b67f09SDavid van Moolenbroekecho copying $r to $d 79*00b67f09SDavid van Moolenbroekcd $r 80*00b67f09SDavid van Moolenbroekpax -rw * $d 81*00b67f09SDavid van Moolenbroek 82*00b67f09SDavid van Moolenbroekif [ -d $d/libtool.m4 ] 83*00b67f09SDavid van Moolenbroekthen 84*00b67f09SDavid van Moolenbroek mv $d/libtool.m4 $d/m4 85*00b67f09SDavid van Moolenbroekfi 86*00b67f09SDavid van Moolenbroek 87*00b67f09SDavid van Moolenbroek### Remove the $'s around RCS tags 88*00b67f09SDavid van Moolenbroekcleantags $d 89*00b67f09SDavid van Moolenbroek 90*00b67f09SDavid van Moolenbroek### Add our NetBSD RCS Id 91*00b67f09SDavid van Moolenbroekfind $d -type f -name '*.[chly]' -print | while read c; do 92*00b67f09SDavid van Moolenbroek sed 1q < $c | grep -q '\$NetBSD' || ( 93*00b67f09SDavid van Moolenbroekecho "/* \$NetBSD\$ */" >/tmp/bind3n$$ 94*00b67f09SDavid van Moolenbroekecho "" >>/tmp/bind3n$$ 95*00b67f09SDavid van Moolenbroekcat $c >> /tmp/bind3n$$ 96*00b67f09SDavid van Moolenbroekmv /tmp/bind3n$$ $c && echo added NetBSD RCS tag to $c 97*00b67f09SDavid van Moolenbroek ) 98*00b67f09SDavid van Moolenbroekdone 99*00b67f09SDavid van Moolenbroek 100*00b67f09SDavid van Moolenbroekfind $d -type f -name '*.[0-9]' -print | while read m; do 101*00b67f09SDavid van Moolenbroek sed 1q < $m | grep -q '\$NetBSD' || ( 102*00b67f09SDavid van Moolenbroekecho ".\\\" \$NetBSD\$" >/tmp/bind2m$$ 103*00b67f09SDavid van Moolenbroekecho ".\\\"" >>/tmp/bind2m$$ 104*00b67f09SDavid van Moolenbroekcat $m >> /tmp/bind2m$$ 105*00b67f09SDavid van Moolenbroekmv /tmp/bind2m$$ $m && echo added NetBSD RCS tag to $m 106*00b67f09SDavid van Moolenbroek ) 107*00b67f09SDavid van Moolenbroekdone 108*00b67f09SDavid van Moolenbroek 109*00b67f09SDavid van Moolenbroekfind $d -type f -name '*.texi' -print | while read t; do 110*00b67f09SDavid van Moolenbroek sed "2 s/^/@c \$NetBSD\$\\ 111*00b67f09SDavid van Moolenbroek/" < $t > /tmp/bind4t$$ 112*00b67f09SDavid van Moolenbroek mv /tmp/bind4t$$ $t && echo added NetBSD RCS tag to $t 113*00b67f09SDavid van Moolenbroekdone 114*00b67f09SDavid van Moolenbroek 115*00b67f09SDavid van Moolenbroekecho done 116*00b67f09SDavid van Moolenbroek 117*00b67f09SDavid van Moolenbroek### Clean up any CVS directories that might be around. 118*00b67f09SDavid van Moolenbroekecho "cleaning up CVS residue." 119*00b67f09SDavid van Moolenbroek( 120*00b67f09SDavid van Moolenbroek cd $d 121*00b67f09SDavid van Moolenbroek find . -type d -name "CVS" -print | xargs rm -r 122*00b67f09SDavid van Moolenbroek) 123*00b67f09SDavid van Moolenbroekecho done 124*00b67f09SDavid van Moolenbroek 125*00b67f09SDavid van Moolenbroek### Fixing file and directory permissions. 126*00b67f09SDavid van Moolenbroekecho "Fixing file/directory permissions." 127*00b67f09SDavid van Moolenbroek( 128*00b67f09SDavid van Moolenbroek cd $d 129*00b67f09SDavid van Moolenbroek find . -type f -print | xargs chmod u+rw,go+r 130*00b67f09SDavid van Moolenbroek find . -type d -print | xargs chmod u+rwx,go+rx 131*00b67f09SDavid van Moolenbroek) 132*00b67f09SDavid van Moolenbroekecho done 133*00b67f09SDavid van Moolenbroek 134*00b67f09SDavid van Moolenbroekexit 0 135