nvi2netbsd revision 1.1 1 1.1 christos #! /bin/sh
2 1.1 christos #
3 1.1 christos # $NetBSD: nvi2netbsd,v 1.1 2013/11/22 16:00:45 christos Exp $
4 1.1 christos #
5 1.1 christos # Copyright (c) 2000 The NetBSD Foundation, Inc.
6 1.1 christos # All rights reserved.
7 1.1 christos #
8 1.1 christos # Redistribution and use in source and binary forms, with or without
9 1.1 christos # modification, are permitted provided that the following conditions
10 1.1 christos # are met:
11 1.1 christos # 1. Redistributions of source code must retain the above copyright
12 1.1 christos # notice, this list of conditions and the following disclaimer.
13 1.1 christos # 2. Redistributions in binary form must reproduce the above copyright
14 1.1 christos # notice, this list of conditions and the following disclaimer in the
15 1.1 christos # documentation and/or other materials provided with the distribution.
16 1.1 christos #
17 1.1 christos # THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
18 1.1 christos # ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
19 1.1 christos # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
20 1.1 christos # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
21 1.1 christos # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22 1.1 christos # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23 1.1 christos # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24 1.1 christos # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
25 1.1 christos # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
26 1.1 christos # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
27 1.1 christos # POSSIBILITY OF SUCH DAMAGE.
28 1.1 christos #
29 1.1 christos # based on amd2netbsd,
30 1.1 christos # itself based on bind2netbsd by Bernd Ernesti and changes by Simon Burge
31 1.1 christos #
32 1.1 christos # Rough instructions for importing new nvi release:
33 1.1 christos #
34 1.1 christos # $ cd /some/where/temporary
35 1.1 christos # $ tar xpfz /new/nvi/release/tar/file
36 1.1 christos # $ sh /usr/src/external/bsd/nvi/nvi2netbsd nvi-x.y.z `pwd`
37 1.1 christos # $ cd src/external/bsd/nvi/dist
38 1.1 christos # $ cvs import -m "Import nvi x.y.z" src/external/bsd/nvi/dist NVI nvi-x-y-z
39 1.1 christos # $ cd ../../../nvi/build.unix
40 1.1 christos # $ run ../dist/configure --with-db_type=db1 --enable-widechar
41 1.1 christos # ... to be continued
42 1.1 christos #
43 1.1 christos
44 1.1 christos if [ $# -ne 2 ]; then echo "nvi2netbsd src dest"; exit 1; fi
45 1.1 christos
46 1.1 christos r="$1"
47 1.1 christos d="$2"/src/external/bsd/nvi/dist
48 1.1 christos
49 1.1 christos case "$d" in
50 1.1 christos /*)
51 1.1 christos ;;
52 1.1 christos *)
53 1.1 christos d="`/bin/pwd`/$d"
54 1.1 christos ;;
55 1.1 christos esac
56 1.1 christos
57 1.1 christos case "$r" in
58 1.1 christos /*)
59 1.1 christos ;;
60 1.1 christos *)
61 1.1 christos r="`/bin/pwd`/$r"
62 1.1 christos ;;
63 1.1 christos esac
64 1.1 christos
65 1.1 christos echo preparing directory "$d"
66 1.1 christos rm -rf "$d"
67 1.1 christos mkdir -p "$d"
68 1.1 christos
69 1.1 christos ### Copy the files and directories
70 1.1 christos echo copying "$r" to "$d"
71 1.1 christos cd "$r"
72 1.1 christos pax -rw * "$d"
73 1.1 christos
74 1.1 christos echo removing unneeded directories and files
75 1.1 christos
76 1.1 christos ### Remove unneeded files
77 1.1 christos cd "$d"
78 1.1 christos rm -f catalog/english.base # we generate it
79 1.1 christos rm -fr dist/autom4te.cache
80 1.1 christos rm -f dist/tags
81 1.1 christos rm -fr docs/html
82 1.1 christos rm -f docs/*/*.ps docs/*/grohtml* docs/*/*.0 docs/*/*.txt
83 1.1 christos rm -f common/options_def.h # must be removed: we generate it
84 1.1 christos rm -fr include compat db.1.85
85 1.1 christos rm -fr .git
86 1.1 christos
87 1.1 christos cd catalog
88 1.1 christos for f in *.base; do
89 1.1 christos f2="`echo "$f" | sed -e 's/\.base$//'`"
90 1.1 christos rm -f "$f2" "$f2".check
91 1.1 christos done
92 1.1 christos
93 1.1 christos cleantags "$d"
94 1.1 christos
95 1.1 christos ### Clean up any CVS directories that might be around.
96 1.1 christos echo "cleaning up CVS residue."
97 1.1 christos (
98 1.1 christos cd "$d"
99 1.1 christos find . -type d -name "CVS" -print | xargs rm -r
100 1.1 christos )
101 1.1 christos echo done
102 1.1 christos
103 1.1 christos ### Fixing file and directory permissions.
104 1.1 christos echo "Fixing file/directory permissions."
105 1.1 christos (
106 1.1 christos cd "$d"
107 1.1 christos find . -type f -print | xargs chmod u+rw,go+r
108 1.1 christos find . -type d -print | xargs chmod u+rwx,go+rx
109 1.1 christos )
110 1.1 christos echo done
111 1.1 christos
112 1.1 christos exit 0
113