dot.profile revision 1.2.16.1       1 # $NetBSD: dot.profile,v 1.2.16.1 2009/01/15 22:22:07 bouyer 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 
     36 PATH=/sbin:/bin:/usr/bin:/usr/sbin:/
     37 export PATH
     38 TERM=vt220
     39 export TERM
     40 HOME=/
     41 export HOME
     42 OBLOCKSIZE=1k
     43 export BLOCKSIZE
     44 EDITOR=ed
     45 export EDITOR
     46 
     47 umask 022
     48 
     49 makerootwritable() {
     50 	if [ ! -e /tmp/.root_writable ]; then
     51 		# note, only handles up to partition 'j'
     52 		rootdev=/dev/$(sysctl -n kern.root_device)$(sysctl -n kern.root_partition | sed y/0123456789/abcdefghij/)
     53 		if ! mount $rootdev / ; then
     54 		    echo "Unable to mount $rootdev read-write"
     55 		    exit 1
     56 		fi
     57 		cp /dev/null /tmp/.root_writable
     58 		echo "Mounted $rootdev read-write"
     59 	fi
     60 }
     61 
     62 if [ "X${DONEPROFILE}" = "X" ]; then
     63 	DONEPROFILE=YES
     64 	export DONEPROFILE
     65 
     66 	# set up some sane defaults
     67 	echo 'erase ^H, werase ^W, kill ^U, intr ^C'
     68 	stty newcrt werase ^W intr ^C kill ^U erase ^H 9600
     69 
     70 	# mount root read write
     71 	makerootwritable
     72 
     73 	# If supported: Select a keyboard map
     74 	/usr/sbin/loadkmap > /dev/null 2>&1
     75 	if [ $? -eq 0 ]; then
     76 		_maps=`ls /usr/share/keymaps/atari | sed 's/\.map//g'`
     77 	fi
     78 	while [ ! -z "$_maps" ]; do
     79 		echo "The available keyboard maps are:"
     80 		_num=0
     81 		for i in $_maps; do
     82 			echo "	$_num  $i"
     83 			_num=`expr $_num + 1`
     84 		done
     85 		echo
     86 		echo -n "Select the number of the map you want to activate: "
     87 		read _ans
     88 
     89 		# Delete all non-nummeric characters from the users answer
     90 		if [ ! -z "$_ans" ]; then
     91 			_ans=`echo $_ans | sed 's/[^0-9]//g'`
     92 		fi
     93 
     94 		# Check if the answer is valid (in range). Note that an answer
     95 		# < 0 cannot happen because the sed(1) above also removes the
     96 		# sign.
     97 		if [ -z "$_ans" -o "$_ans" -ge $_num ]; then
     98 		    echo "You entered an invalid response, please try again."
     99 		    continue
    100 		fi
    101 
    102 		# Got a valid answer, activate the map...
    103 		set -- $_maps
    104 		shift $_ans
    105 		/usr/sbin/loadkmap -f /usr/share/keymaps/atari/$1.map
    106 		break
    107 	done
    108 
    109 	sysinst
    110 fi
    111