summaryrefslogtreecommitdiff
path: root/distrib/arc/floppies/inst-common/dot.commonutils
blob: 4cad57544066ad520cc2ede6cf616b8b07a67e1b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
#	$OpenBSD: dot.commonutils,v 1.2 1996/12/09 07:04:52 deraadt Exp $
#
# Copyright (c) 1994 Christopher G. Demetriou
# 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.
# 3. All advertising materials mentioning features or use of this software
#    must display the following acknowledgement:
#	This product includes software developed by Christopher G. Demetriou.
# 4. The name of the author may not be used to endorse or promote products
#    derived from this software without specific prior written permission
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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.

# Installation utilites (functions), to get OpenBSD installed on
# the hard disk.  These are meant to be invoked from the shell prompt,
# by people installing OpenBSD.

# we know that /etc/fstab is only generated on the hard drive
dest_dir=/
if [ ! -f /etc/fstab ]; then
	dest_dir=/mnt/
fi

# counter for possible shared library confusion
TAR=/bin/tar
GUNZIP="/usr/bin/gzip -d"

Set_tmp_dir()
{
	def_tmp_dir=`pwd`
	if [ "$def_tmp_dir" = "/" -o "$def_tmp_dir" = "/mnt" ]; then
		def_tmp_dir="$dest_dir"usr/distrib
	fi

	echo -n	"What directory should be used to find and/or store "
	echo	"installtion"
	echo -n	"files? [$def_tmp_dir] "
	read tmp_dir
	if [ "$tmp_dir" = "" ]; then
		tmp_dir=$def_tmp_dir
	fi
	if [ ! -d "$tmp_dir" ]; then
		/bin/rm -rf $tmp_dir
		mkdir -p $tmp_dir
	fi
}

Tmp_dir()
{
	if [ "$tmp_dir" = "" ]; then
		Set_tmp_dir
	fi
	cd $tmp_dir
}

Load_fd()
{
	Tmp_dir
	which=
	echo "Don't forget that you can't load from the drive you booted from."
	echo ""

	while [ "$which" != "0" -a "$which" != "1" ]; do
		echo -n	"Read from which floppy drive ('0' or '1')? [1] "
		read which
		if [ "X$which" = "X" ]; then
			which=1
		fi
	done
	echo	""
	echo	"WARNING: during the floppy loading process, you should only"
	echo	"use Control-C at the prompt."
	echo	""
	while echo -n \
	    "Insert floppy (hit Control-C to terminate, enter to load): "
	do
		read foo
		mount -r -t msdos /dev/fd${which}a /mnt2
		cp -rp /mnt2/* .
		umount /mnt2
	done
}

Load_tape()
{
	Tmp_dir
	echo -n	"Which tape drive will you be using? [rst0] "
	read which
	if [ "X$which" = "X" ]; then
		which=rst0
	fi
	echo -n "Insert the tape into the tape drive and hit return to "
	echo -n "continue..."
	read foo
	echo	"Extracting files from the tape..."
	$TAR xvpf /dev/$which
	echo	"Done."
}

Extract()
{
	Tmp_dir
	echo -n "Would you like to list the files as they're extracted? [n] "
	read verbose
	case $verbose in
	y*|Y*)
		tarverbose=v
		;;
	*)
		tarverbose=
		;;
	esac
	cat "$1"* | $GUNZIP | (cd $dest_dir ; $TAR -xp"$tarverbose"f - )
}