#! /bin/sh # # $NetBSD: nvi2netbsd,v 1.2 2008/05/20 17:05:40 aymeric 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. # # 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. # # based on amd2netbsd, # itself based on bind2netbsd by Bernd Ernesti and changes by Simon Burge # # Rough instructions for importing new nvi release: # # $ cd /some/where/temporary # $ tar xpfz /new/nvi/release/tar/file # $ sh /usr/src/dist/nvi/nvi2netbsd nvi-x.y.z `pwd` # $ cd src/dist/nvi # $ cvs import -m "Import nvi x.y.z" src/dist/nvi NVI nvi-x-y-z # $ cd ../../../nvi/build.unix # $ run ../dist/configure --with-db_type=db1 --enable-widechar # ... to be continued # if [ $# -ne 2 ]; then echo "nvi2netbsd src dest"; exit 1; fi r="$1" d="$2"/src/dist/nvi 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 catalog/english.base # we generate it rm -fr dist/autom4te.cache rm -f dist/tags rm -fr docs/html rm -f docs/*/*.ps docs/*/grohtml* docs/*/*.0 docs/*/*.txt rm -f common/options_def.h # must be removed: we generate it cd catalog for f in *.base; do f2="`echo "$f" | sed -e 's/\.base$//'`" rm -f "$f2" "$f2".check done ### Remove the $'s around RCS tags find "$d" -type f -print | \ xargs egrep -l '\$(Created|Date|Header|Id|Revision)' | while read f; do sed -e 's/\$\(Id[^$]*\) \$/\1/' \ -e 's/\$\(Created[^$]*\) \$/\1/' \ -e 's/\$\(Date[^$]*\) \$/\1/' \ -e 's/\$\(Header[^$]*\) \$/\1/' \ -e 's/\$\(Revision[^$]*\) \$/\1/' \ < "$f" > /tmp/nvi1f$$ && mv /tmp/nvi1f$$ "$f" && \ echo removed \$RCS tag from "$f" done ### Add our NetBSD RCS Id find "$d" -type f -name '*.[ch]' -print | while read c; do sed 1q < "$c" | grep -q '\$NetBSD' || ( echo "/* \$NetBSD\$ */" >/tmp/nvi3n$$ echo "" >>/tmp/nvi3n$$ cat "$c" >> /tmp/nvi3n$$ mv /tmp/nvi3n$$ $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/nvi2m$$ echo ".\\\"" >>/tmp/nvi2m$$ cat "$m" >> /tmp/nvi2m$$ mv /tmp/nvi2m$$ "$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/nvi4t$$ mv /tmp/nvi4t$$ "$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