xref: /minix3/external/bsd/bind/bind2netbsd (revision 00b67f09dd46474d133c95011a48590a8e8f94c7)
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