dot.profile revision 1.1
1# $NetBSD: dot.profile,v 1.1 2002/04/12 21:11:47 leo Exp $
2#
3# Copyright (c) 1995 Jason R. Thorpe
4# Copyright (c) 1994 Christopher G. Demetriou
5# All rights reserved.
6# 
7# Redistribution and use in source and binary forms, with or without
8# modification, are permitted provided that the following conditions
9# are met:
10# 1. Redistributions of source code must retain the above copyright
11#    notice, this list of conditions and the following disclaimer.
12# 2. Redistributions in binary form must reproduce the above copyright
13#    notice, this list of conditions and the following disclaimer in the
14#    documentation and/or other materials provided with the distribution.
15# 3. All advertising materials mentioning features or use of this software
16#    must display the following acknowledgement:
17#          This product includes software developed for the
18#          NetBSD Project.  See http://www.netbsd.org/ for
19#          information about NetBSD.
20# 4. The name of the author may not be used to endorse or promote products
21#    derived from this software without specific prior written permission.
22# 
23# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
24# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
25# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
26# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
27# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
28# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
29# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
30# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
31# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
32# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33# 
34# <<Id: LICENSE,v 1.2 2000/06/14 15:57:33 cgd Exp>>
35
36PATH=/sbin:/bin:/usr/bin:/usr/sbin:/
37export PATH
38TERM=vt220
39export TERM
40HOME=/
41export HOME
42OBLOCKSIZE=1k
43export BLOCKSIZE
44EDITOR=ed
45export EDITOR
46
47umask 022
48
49makerootwritable() {
50	if [ ! -e /tmp/.root_writable ]; then
51		if [ ! -e /kern/msgbuf ]; then
52			mount -t kernfs /kern /kern
53		fi
54		mount -t ffs -u /kern/rootdev /
55		cp /dev/null /tmp/.root_writable
56	fi
57}
58
59if [ "X${DONEPROFILE}" = "X" ]; then
60	DONEPROFILE=YES
61	export DONEPROFILE
62
63	# set up some sane defaults
64	echo 'erase ^H, werase ^W, kill ^U, intr ^C'
65	stty newcrt werase ^W intr ^C kill ^U erase ^H 9600
66
67	# mount root read write
68	makerootwritable
69
70	# If supported: Select a keyboard map
71	/usr/sbin/loadkmap > /dev/null 2>&1
72	if [ $? -eq 0 ]; then
73		_maps=`ls /usr/share/keymaps/atari | sed 's/\.map//g'`
74	fi
75	while [ ! -z "$_maps" ]; do
76		echo "The available keyboard maps are:"
77		_num=0
78		for i in $_maps; do
79			echo "	$_num  $i"
80			_num=`expr $_num + 1`
81		done
82		echo
83		echo -n "Select the number of the map you want to activate: "
84		read _ans
85
86		# Delete all non-nummeric characters from the users answer
87		if [ ! -z "$_ans" ]; then
88			_ans=`echo $_ans | sed 's/[^0-9]//g`
89		fi
90
91		# Check if the answer is valid (in range). Note that an answer
92		# < 0 cannot happen because the sed(1) above also removes the
93		# sign.
94		if [ -z "$_ans" -o "$_ans" -ge $_num ]; then
95		    echo "You entered an invalid response, please try again."
96		    continue
97		fi
98
99		# Got a valid answer, activate the map...
100		set -- $_maps
101		shift $_ans
102		/usr/sbin/loadkmap -f /usr/share/keymaps/atari/$1.map
103		break
104	done
105
106	if [ -x /sysinst ]; then
107		sysinst
108	else
109	   if [ -x /upgrade ]; then
110		#
111		# Original installation script.
112		# Installing or upgrading?
113		_forceloop=""
114		while [ "X${_forceloop}" = X"" ]; do
115			echo -n '(I)nstall or (U)pgrade? '
116			read _forceloop
117			case "$_forceloop" in
118				i*|I*)
119					/install
120					;;
121
122				u*|U*)
123					/upgrade
124					;;
125
126				*)
127					_forceloop=""
128					;;
129			esac
130		done
131	    else
132		#
133		# Stripped down preparation version
134		/install
135	    fi
136	fi
137fi
138