Patrick Welche <prlw1@cam.ac.uk>
[netbsd-mini2440.git] / distrib / utils / script-installer / dot.commonutils
blob25184481c6d05d74efbe413bfc8b10bafb7f03d2
1 # $NetBSD: dot.commonutils,v 1.6 2000/06/14 17:24:47 cgd Exp $
3 # Copyright (c) 1994 Christopher G. Demetriou
4 # All rights reserved.
5
6 # Redistribution and use in source and binary forms, with or without
7 # modification, are permitted provided that the following conditions
8 # are met:
9 # 1. Redistributions of source code must retain the above copyright
10 #    notice, this list of conditions and the following disclaimer.
11 # 2. Redistributions in binary form must reproduce the above copyright
12 #    notice, this list of conditions and the following disclaimer in the
13 #    documentation and/or other materials provided with the distribution.
14 # 3. All advertising materials mentioning features or use of this software
15 #    must display the following acknowledgement:
16 #          This product includes software developed for the
17 #          NetBSD Project.  See http://www.NetBSD.org/ for
18 #          information about NetBSD.
19 # 4. The name of the author may not be used to endorse or promote products
20 #    derived from this software without specific prior written permission.
21
22 # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
23 # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
24 # OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
25 # IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
26 # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
27 # NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
31 # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32
33 # <<Id: LICENSE,v 1.2 2000/06/14 15:57:33 cgd Exp>>
35 # Installation utilites (functions), to get NetBSD installed on
36 # the hard disk.  These are meant to be invoked from the shell prompt,
37 # by people installing NetBSD.
39 # we know that /etc/fstab is only generated on the hard drive
40 dest_dir=/
41 if [ ! -f /etc/fstab ]; then
42         dest_dir=/mnt/
45 # counter for possible shared library confusion
46 PAX=/bin/pax
47 GUNZIP=/usr/bin/gunzip
49 Set_tmp_dir()
51         def_tmp_dir=`pwd`
52         if [ "$def_tmp_dir" = "/" -o "$def_tmp_dir" = "/mnt" ]; then
53                 def_tmp_dir="$dest_dir"usr/distrib
54         fi
56         echo -n "What directory should be used to find and/or store "
57         echo    "installtion"
58         echo -n "files such as base.tgz and kern.tgz? [$def_tmp_dir] "
59         read tmp_dir
60         if [ "$tmp_dir" = "" ]; then
61                 tmp_dir=$def_tmp_dir
62         fi
63         if [ ! -d "$tmp_dir" ]; then
64                 /bin/rm -rf $tmp_dir
65                 mkdir -p $tmp_dir
66         fi
69 Tmp_dir()
71         if [ "$tmp_dir" = "" ]; then
72                 Set_tmp_dir
73         fi
74         cd $tmp_dir
77 Load_fd()
79         Tmp_dir
80         which=
81 #       echo "Don't forget that you can't load from the drive you booted from."
82         echo ""
84         while [ "$which" != "0" -a "$which" != "1" ]; do
85                 echo -n "Read from which floppy drive ('0' or '1')? [0] "
86                 read which
87                 if [ "X$which" = "X" ]; then
88                         which=0
89                 fi
90         done
91         echo    ""
92         echo    "WARNING: during the floppy loading process, you should only"
93         echo    "use Control-C at the prompt."
94         echo    ""
95         while echo -n \
96             "Insert floppy (hit Control-C to terminate, enter to load): "
97         do
98                 read foo
99                 mount -r -t msdos /dev/fd${which}a /mnt2
100                 cp -rp /mnt2/* .
101                 umount /mnt2
102         done
105 Load_tape()
107         Tmp_dir
108         echo -n "Which tape drive will you be using? [rst0] "
109         read which
110         if [ "X$which" = "X" ]; then
111                 which=rst0
112         fi
113         echo -n "Insert the tape into the tape drive and hit return to "
114         echo -n "continue..."
115         read foo
116         echo    "Extracting files from the tape..."
117         $PAX -rvpe -f /dev/$which
118         echo    "Done."
121 Extract()
123         Tmp_dir
124         echo -n "Would you like to list the files as they're extracted? [n] "
125         read verbose
126         case $verbose in
127         y*|Y*)
128                 tarverbose=-v
129                 ;;
130         *)
131                 tarverbose=
132                 ;;
133         esac
134         cat "$1"* | $GUNZIP | (cd $dest_dir ; $PAX -rpe $tarverbose )