dot.commonutils revision 1.6
1# $NetBSD: dot.commonutils,v 1.6 2000/06/14 06:48:48 cgd 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# Installation utilites (functions), to get NetBSD installed on
32# the hard disk.  These are meant to be invoked from the shell prompt,
33# by people installing NetBSD.
34
35# we know that /etc/fstab is only generated on the hard drive
36dest_dir=/
37if [ ! -f /etc/fstab ]; then
38	dest_dir=/mnt/
39fi
40
41# counter for possible shared library confusion
42TAR=/usr/bin/tar
43GUNZIP=/usr/bin/gunzip
44
45Set_tmp_dir()
46{
47	def_tmp_dir=`pwd`
48	if [ "$def_tmp_dir" = "/" -o "$def_tmp_dir" = "/mnt" ]; then
49		def_tmp_dir="$dest_dir"usr/distrib
50	fi
51
52	echo -n	"What directory should be used to find and/or store "
53	echo	"installation"
54	echo -n	"files? [$def_tmp_dir] "
55	read tmp_dir
56	if [ "$tmp_dir" = "" ]; then
57		tmp_dir=$def_tmp_dir
58	fi
59	if [ ! -d "$tmp_dir" ]; then
60		/bin/rm -rf $tmp_dir
61		mkdir -p $tmp_dir
62	fi
63}
64
65Tmp_dir()
66{
67	if [ "$tmp_dir" = "" ]; then
68		Set_tmp_dir
69	fi
70	cd $tmp_dir
71}
72
73Load_fd()
74{
75	Tmp_dir
76	which=
77	while [ "$which" != "a" -a "$which" != "b" ]; do
78		echo -n	"Read from which floppy drive ('a' or 'b')? [a] "
79		read which
80		if [ "X$which" = "X" ]; then
81			which=a
82		fi
83	done
84	while echo -n "Insert floppy (hit ^C to terminate, enter to load): "
85	do
86		mount -t msdos /dev/fd0$which /mnt2
87		cp -rp /mnt2/* .
88		umount /mnt2
89	done
90}
91
92Load_tape()
93{
94	Tmp_dir
95	echo -n	"Which tape drive will you be using? [rst0] "
96	read which
97	if [ "X$which" = "X" ]; then
98		which=rst0
99	fi
100	echo -n "Insert the tape into the tape drive and hit return to "
101	echo -n "continue..."
102	read foo
103	echo	"Extracting files from the tape..."
104	$TAR --unlink -xvpf /dev/$which
105	echo	"Done."
106}
107
108Extract()
109{
110	Tmp_dir
111	echo -n "Would you like to list the files as they're extracted? [n] "
112	read verbose
113	case $verbose in
114	y*|Y*)
115		tarverbose=v
116		;;
117	*)
118		tarverbose=
119		;;
120	esac
121	cat "$1".?? | $GUNZIP | (cd $dest_dir ; $TAR --unlink -xp"$tarverbose"f -)
122}
123