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