forked from dosemu2/dosemu2
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathinstall_systemwide
138 lines (122 loc) · 3.6 KB
/
install_systemwide
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
132
133
134
135
136
137
#! /bin/bash
#
# (C) Copyright 1992, ..., 2014 the "DOSEMU-Development-Team".
#
# for details see file COPYING in the DOSEMU distribution
#
# Make a systemwide installation of dosemu.
#
# NOTEs:
#
# 1. 'make' and 'make dosbin' must have been done prior to this
#
# 2. You must have available dosemu-freedos-bin.tgz somewhere
#
# 3. This installs a non-suid-root DOSEMU, which is almost fullfeature
# when running under X. If you want graphics on the console
# or want to access hardware (such as ports and IRQ passing), you
# need a suid-root installation. However, because this is
# inherently insecure and dangerous (you may lock your machine)
# we won't support/recommend it for normal usage and expect only
# skilled people (and those respecting 'RTFM';-) being able to use
# it properly. Hence, no 'automagical' suid-root install any more.
#
#
# this script is obsolete, but just keep it as a "make install" front end
# for now
function usage {
echo "USAGE:
./install_systemwide [-fd FD_tarball] [-r root] [ -i instpath] [-b binpath]
where is
FD_tarball Tarball containing FreeDos part of the DOSEMU binary
distribution as available on the official DOSEMU site:
ftp://ftp.dosemu/org/dosemu/dosemu-freedos-bin.tgz
(give the local filename where you downloaded it)
If this argument is ommitted, the script assumes you have
already put it to <instpath>/dosemu-freedos-bin.tgz, if it
is not in place, the script aborts.
root optional prefix for 'instpath' and 'binpath', so you can make
packages out of the installation without messing up your
running system setup. 'root' will only be taken for copying,
not for configuring and this tree is not useable until
it gets moved to the proper instpath/binpath.
instpath Path in the (installed) system where the DOSEMU templates,
binaries and docs will reside. Default is /opt/dosemu.
binpath Path where symlinks of the executables are placed.
Default is /usr/bin.
"
exit 1
}
FDTARBALL=""
ROOT=""
INSTPATH=/opt/dosemu
BINPATH=/usr/bin
while [ ! -z "$1" ]; do
if [ "$1" = '-r' ]; then
if [ -z "$2" ]; then usage; fi
ROOT=$2;
shift; shift
continue
fi
if [ "$1" = '-i' ]; then
if [ -z "$2" ]; then usage; fi
INSTPATH=$2;
shift; shift
continue
fi
if [ "$1" = '-b' ]; then
if [ -z "$2" ]; then usage; fi
BINPATH=$2;
shift; shift
continue
fi
if [ "$1" = '-fd' ]; then
if [ -z "$2" ]; then usage; fi
FDTARBALL=$2;
shift; shift
continue
fi
usage
done
if [ -z "$FDTARBALL" ]; then
FDTARBALL="$INSTPATH/dosemu-freedos-bin.tgz"
if [ -n "$ROOT" ]; then
FDTARBALL="$ROOT/$FDTARBALL"
fi
fi
#echo "$FDTARBALL,$ROOT,$INSTPATH,$BINPATH"; exit
# check if FDTARBALL is valid
#
if [ ! -f $FDTARBALL ]; then
echo "
You failed to give -fd option or the file you gave is not accessible.
The default file for this option doesn't exist either.
Type 'install_systemwide -help' for details
... giving up.
"
exit 1
fi
if ! tar -tzf $FDTARBALL >/dev/null 2>&1; then
echo "
$FDTARBALL seems broken (broken download?),
... giving up
"
exit 1
fi
if ! tar -tzf $FDTARBALL |grep dosemu/freedos/dosemu/lcd.exe >/dev/null; then
echo "
$FDTARBALL seems not to have correct content,
... giving up
"
fi
# ok, we now now have all we need
INST=$INSTPATH
BIN=$BINPATH
if [ -n "$ROOT" ]; then
INST="$ROOT/$INST"
BIN="$ROOT/$BIN"
fi
rm -f bin/dosemu
make dosemu_script syshdimagedir=$INSTPATH dosemudir=$INSTPATH x11fontdir=$INSTPATH/Xfonts
make install syshdimagedir=$INST dosemudir=$INST mandir=$INST/man bindir=$BIN \
x11fontdir=$INST/Xfonts docdir=$INST/doc fdtarball=$FDTARBALL