xref: /netbsd-src/distrib/utils/script-installer/dot.commonutils (revision 7c7c171d130af9949261bc7dce2150a03c3d239c)
1#	$NetBSD: dot.commonutils,v 1.1 1997/06/14 18:56:08 perry Exp $
2#
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 by Christopher G. Demetriou.
17# 4. The name of the author may not be used to endorse or promote products
18#    derived from this software without specific prior written permission
19#
20# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
21# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
22# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
23# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
24# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
25# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
29# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30#
31
32# Installation utilites (functions), to get NetBSD installed on
33# the hard disk.  These are meant to be invoked from the shell prompt,
34# by people installing NetBSD.
35
36# we know that /etc/fstab is only generated on the hard drive
37dest_dir=/
38if [ ! -f /etc/fstab ]; then
39	dest_dir=/mnt/
40fi
41
42# counter for possible shared library confusion
43TAR=/usr/bin/tar
44GUNZIP=/usr/bin/gunzip
45
46Set_tmp_dir()
47{
48	def_tmp_dir=`pwd`
49	if [ "$def_tmp_dir" = "/" -o "$def_tmp_dir" = "/mnt" ]; then
50		def_tmp_dir="$dest_dir"usr/distrib
51	fi
52
53	echo -n	"What directory should be used to find and/or store "
54	echo	"installtion"
55	echo -n	"files? [$def_tmp_dir] "
56	read tmp_dir
57	if [ "$tmp_dir" = "" ]; then
58		tmp_dir=$def_tmp_dir
59	fi
60	if [ ! -d "$tmp_dir" ]; then
61		/bin/rm -rf $tmp_dir
62		mkdir -p $tmp_dir
63	fi
64}
65
66Tmp_dir()
67{
68	if [ "$tmp_dir" = "" ]; then
69		Set_tmp_dir
70	fi
71	cd $tmp_dir
72}
73
74Load_fd()
75{
76	Tmp_dir
77	which=
78#	echo "Don't forget that you can't load from the drive you booted from."
79	echo ""
80
81	while [ "$which" != "0" -a "$which" != "1" ]; do
82		echo -n	"Read from which floppy drive ('0' or '1')? [0] "
83		read which
84		if [ "X$which" = "X" ]; then
85			which=0
86		fi
87	done
88	echo	""
89	echo	"WARNING: during the floppy loading process, you should only"
90	echo	"use Control-C at the prompt."
91	echo	""
92	while echo -n \
93	    "Insert floppy (hit Control-C to terminate, enter to load): "
94	do
95		read foo
96		mount -r -t msdos /dev/fd${which}a /mnt2
97		cp -rp /mnt2/* .
98		umount /mnt2
99	done
100}
101
102Load_tape()
103{
104	Tmp_dir
105	echo -n	"Which tape drive will you be using? [rst0] "
106	read which
107	if [ "X$which" = "X" ]; then
108		which=rst0
109	fi
110	echo -n "Insert the tape into the tape drive and hit return to "
111	echo -n "continue..."
112	read foo
113	echo	"Extracting files from the tape..."
114	$TAR --unlink -xvpf /dev/$which
115	echo	"Done."
116}
117
118Extract()
119{
120	Tmp_dir
121	echo -n "Would you like to list the files as they're extracted? [n] "
122	read verbose
123	case $verbose in
124	y*|Y*)
125		tarverbose=v
126		;;
127	*)
128		tarverbose=
129		;;
130	esac
131	cat "$1"* | $GUNZIP | (cd $dest_dir ; $TAR  --unlink -xp"$tarverbose"f - )
132}
133