diff --git a/dist/am-utils/amd2netbsd b/dist/am-utils/amd2netbsd new file mode 100755 index 000000000000..c82d5ca3d2d7 --- /dev/null +++ b/dist/am-utils/amd2netbsd @@ -0,0 +1,148 @@ +#! /bin/sh +# +# $NetBSD: amd2netbsd,v 1.1 2000/11/20 00:52:32 wiz Exp $ +# +# Copyright (c) 2000 The NetBSD Foundation, Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. All advertising materials mentioning features or use of this software +# must display the following acknowledgement: +# This product includes software developed by the NetBSD +# Foundation, Inc. and its contributors. +# 4. Neither the name of The NetBSD Foundation nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +# amd2netbsd: convert an amd source tree into a +# netbsd amd source tree, under basesrc/dist, +# based on bind2netbsd by Bernd Ernesti and changes by Simon Burge +# +# Rough instructions for importing new amd release: +# +# $ cd /some/where/temporary +# $ tar xpfz /new/amd/release/tar/file +# $ sh /usr/src/dist/am-utils/amd2netbsd am-utils-6.x.y `pwd` +# $ cd basesrc/dist/am-utils +# $ cvs import -m "Import am-utils 6.x.y" basesrc/dist/am-utils ezk am-utils-6-x-y +# $ cd ../../../am-utils-6.x.y +# $ run ./configure +# merge newly generated config.h with /usr/src/usr.sbin/amd/include/config.h +# very carefully, since autoconfig seems to be broken (at least in 6.0.4) +# $ cd .. +# $ rm -r basesrc am-utils-6.x.y +# $ cd /usr/src/usr.sbin/amd +# $ cvs commit -m "Updated autoconf generated files for am-utils 6.x.y." +# +# - check makefiles to see if any extra sources have been added. +# - update distrib/sets if necessary. + +if [ $# -ne 2 ]; then echo "amd2netbsd src dest"; exit 1; fi + +r=$1 +d=$2/basesrc/dist/am-utils + +case "$d" in + /*) + ;; + *) + d=`/bin/pwd`/$d + ;; +esac + +case "$r" in + /*) + ;; + *) + r=`/bin/pwd`/$r + ;; +esac + +echo preparing directory $d +rm -rf $d +mkdir -p $d + +### Copy the files and directories +echo copying $r to $d +cd $r +pax -rw * $d + +echo removing unneeded directories and files + +### Remove unneeded files +cd $d +rm -f doc/am-utils.dvi doc/am-utils.info* doc/am-utils.ps + +### Remove the $'s around RCS tags +find $d -type f -print | xargs egrep -l '\$(Id|Created|Header)' | while read f; do + sed -e 's/\$\(Id.*\) \$/\1/' \ + -e 's/\$\(Created.*\) \$/\1/' \ + -e 's/\$\(Header.*\) \$/\1/' \ + < $f > /tmp/amd1f$$ && mv /tmp/amd1f$$ $f && \ + echo removed \$RCS tag from $f +done + +### Add our NetBSD RCS Id +find $d -type f -name '*.[chly]' -print | while read c; do + sed 1q < $c | grep -q '\$NetBSD' || ( +echo "/* \$NetBSD\$ */" >/tmp/amd3n$$ +echo "" >>/tmp/amd3n$$ +cat $c >> /tmp/amd3n$$ +mv /tmp/amd3n$$ $c && echo added NetBSD RCS tag to $c + ) +done + +find $d -type f -name '*.[0-9]' -print | while read m; do + sed 1q < $m | grep -q '\$NetBSD' || ( +echo ".\\\" \$NetBSD\$" >/tmp/amd2m$$ +echo ".\\\"" >>/tmp/amd2m$$ +cat $m >> /tmp/amd2m$$ +mv /tmp/amd2m$$ $m && echo added NetBSD RCS tag to $m + ) +done + +find $d -type f -name '*.texi' -print | while read t; do + sed "2 s/^/@c \$NetBSD\$\\ +/" < $t > /tmp/amd4t$$ + mv /tmp/amd4t$$ $t && echo added NetBSD RCS tag to $t +done + +echo done + +### Clean up any CVS directories that might be around. +echo "cleaning up CVS residue." +( + cd $d + find . -type d -name "CVS" -print | xargs rm -r +) +echo done + +### Fixing file and directory permissions. +echo "Fixing file/directory permissions." +( + cd $d + find . -type f -print | xargs chmod u+rw,go+r + find . -type d -print | xargs chmod u+rwx,go+rx +) +echo done + +exit 0