blob: 67181679856b9761d47704b788f1645006a8df6c (
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
|
#!/bin/sh
# $OpenBSD: install.sh,v 1.6 2003/04/10 22:42:29 millert Exp $
# XXX should handle --unlink
INSTALLTO=/mnt
TARFLAGS=xfp
TARLIST="bin sbin usr.bin usr.games usr.include usr.lib usr.libexec usr.misc \
usr.sbin usr.share var dev"
umask 0
# Usage 'install.sh [-v] [installto]'
# -v : Set verbose mode (tar lists files)
# installto : Sets the path to install to.
#
while [ -n "$1" ]; do
case "$1" in
-v)
TARFLAGS=xvfp
echo "(Verbose mode on)"
;;
*)
if [ ! -d $1 ]; then
echo "Cannot extract to $1 - no such directory."
exit 3
fi
INSTALLTO=$1
;;
esac
shift
done
echo "Installing to '$INSTALLTO'."
# Try for gnutar first, then gtar, or just use tar if no luck
# Also check we have gzip in the path
#
oldIFS="$IFS"
IFS=":${IFS}"
for search in gnutar gtar tar;do
TAR=
for dir in $PATH;do
if [ -x $dir/$search ];then
TAR=$dir/$search
break 2
fi
done
done
echo "Using $TAR to extract files."
GZIP=
for dir in $PATH;do
if [ -x $dir/gzip ];then
GZIP=$dir/gzip
break
fi
done
if [ -z "$GZIP" ];then
echo "Cannot find gzip in your path - aborting."
exit 3
fi
echo "Found $GZIP."
IFS="$oldIFS"
# If etc/passwd found, check if we _really_ want to extract over etc.
#
INSTALLETC=y
if [ -f $INSTALLTO/etc/passwd ];then
echo ""
echo ""
echo "**** etc/passwd found - do you want to extract over etc? (y/n)"
read ans
case $ans in
y* | Y* )
echo "Ok - extracting etc."
;;
*)
echo "Not extracting etc."
INSTALLETC=n
;;
esac
echo ""
fi
if [ $INSTALLETC = y ];then
TARLIST="etc $TARLIST"
fi
# Extract the files
#
for f in $TARLIST ; do
echo "---- $f ----"
$GZIP -d -c ./$f.tar.gz | (cd $INSTALLTO; $TAR $TARFLAGS -)
if [ $? != 0 ] ; then
echo "**** Extract of $f failed. Aborting".
exit 3
fi
done
# Tidy up
#
echo "Installing bsd.scsi3 as kernel, replace by hand you need to."
cp ./bsd.scsi3 $INSTALLTO/bsd
chmod 640 $INSTALLTO/bsd; chown root:kmem $INSTALLTO/bsd
if [ ! -c $INSTALLTO/dev/console ];then
echo "Tar did not understand device nodes - removing"
rm -rf $INSTALLTO/dev/[a-z]*
fi
cd $INSTALLTO/dev; ./MAKEDEV all
if [ $INSTALLETC = y ];then
mv $INSTALLTO/etc/fstab.sd $INSTALLTO/etc/fstab
fi
echo "You should probably edit $INSTALLTO/etc/fstab"
|