Ove Kaaven | 2043ba0 | 1999-04-18 13:16:29 +0000 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | # WINE Installation script |
Ove Kaaven | 2c76752 | 2000-10-29 18:02:53 +0000 | [diff] [blame] | 3 | # Can do almost everything from compiling to configuring... |
Ove Kaaven | 2043ba0 | 1999-04-18 13:16:29 +0000 | [diff] [blame] | 4 | |
| 5 | # Mar 31 1999 - Ove Kåven |
| 6 | # First version |
Ove Kaaven | b822b84 | 2000-02-25 20:51:09 +0000 | [diff] [blame] | 7 | # Dec 9 1999 - Ove Kåven |
| 8 | # require Xpm |
| 9 | # Feb 25 2000 - Ove Kåven |
| 10 | # auto-add /usr/local/lib to /etc/ld.so.conf |
Ove Kaaven | ce2b724 | 2000-03-04 19:13:52 +0000 | [diff] [blame] | 11 | # Mar 2 2000 - Ove Kåven |
| 12 | # source rather than grep config.cache |
| 13 | # use sourced config.cache to start ldconfig |
| 14 | # reconfigure if config.cache doesn't exist |
Ove Kaaven | e185888 | 2000-04-08 20:20:21 +0000 | [diff] [blame] | 15 | # Mar 30 2000 - Ove Kåven |
| 16 | # autoconfigure no-windows installs |
| 17 | # do not install registry on real-windows installs |
| 18 | # some support for binary package installs |
| 19 | # set and tell user about LD_LIBRARY_PATH if necessary |
| 20 | # set EXTRA_LD_LIBRARY_PATH in wine.conf |
Ove Kaaven | b5d37ec | 2000-04-15 20:37:14 +0000 | [diff] [blame] | 21 | # Apr 9 2000 - Ove Kåven |
| 22 | # make root's registry global (system-default) |
Ove Kaaven | f561aad | 2000-05-09 22:32:42 +0000 | [diff] [blame] | 23 | # May 9 2000 - Ove Kåven |
| 24 | # use ttydrv when running regapi, so we don't have to run from X |
| 25 | # change debugger path in registry |
Ove Kaaven | 2c76752 | 2000-10-29 18:02:53 +0000 | [diff] [blame] | 26 | # Oct 29 2000 - Ove Kåven |
| 27 | # added --enable-opengl to default confargs |
| 28 | # added conf_question, conf_yesno_answer, and conf_string_answer functions |
| 29 | # added DEFCAT variable |
Ove Kaaven | 6e143b3 | 2000-10-31 00:59:01 +0000 | [diff] [blame] | 30 | # (later that day...) |
| 31 | # added conf_reset_question function |
| 32 | # added file existence checks to the registry copying |
| 33 | # fixed problem with no-windows directory creation |
| 34 | # some text reformatting from Eric Maryniak |
Chris Morgan | 3a21321 | 2001-01-11 20:18:06 +0000 | [diff] [blame] | 35 | # Jan 5 2000 - Chris Morgan |
| 36 | # use default config file in /documentation/samples/config |
| 37 | # replace .winerc with ~/.wine/config in printed text |
| 38 | # added user question to convert .winerc file(if exists) or use the default |
| 39 | # config file |
Chris Morgan | 3a21321 | 2001-01-11 20:18:06 +0000 | [diff] [blame] | 40 | # add conf_question to allow root to install a local config file and |
| 41 | # registry |
Chris Morgan | a00cefb | 2001-01-18 20:29:21 +0000 | [diff] [blame] | 42 | # Jan 12 2000 - Chris Morgan |
| 43 | # distinguish between creating local and global config files |
| 44 | # display a message about the status of global config files |
| 45 | # misc cleanups and reordering of questions |
| 46 | # added check to see if wine is installed when we are running as a normal |
| 47 | # user and print a message if wine cannot be found |
Ove Kaaven | 2043ba0 | 1999-04-18 13:16:29 +0000 | [diff] [blame] | 48 | |
Ove Kaaven | f561aad | 2000-05-09 22:32:42 +0000 | [diff] [blame] | 49 | #--- defaults (change these if you are a packager) |
Andreas Mohr | 8ee6cca | 2001-02-12 18:10:43 +0000 | [diff] [blame] | 50 | CONFARGS="--enable-opengl" # configure args, e.g. --prefix=/usr --sysconfdir=/etc |
Ove Kaaven | e185888 | 2000-04-08 20:20:21 +0000 | [diff] [blame] | 51 | prefix=/usr/local # installation prefix |
Ove Kaaven | b5d37ec | 2000-04-15 20:37:14 +0000 | [diff] [blame] | 52 | sysconfdir=$prefix/etc # where wine.conf and global registry is supposed to be |
Ove Kaaven | f561aad | 2000-05-09 22:32:42 +0000 | [diff] [blame] | 53 | bindir=$prefix/bin # where winelib apps will be (or is) installed |
Ove Kaaven | b5d37ec | 2000-04-15 20:37:14 +0000 | [diff] [blame] | 54 | libdir=$prefix/lib # where libwine.so will be (or is) installed |
| 55 | exdir=documentation/samples # where the example system.ini resides |
Chris Morgan | a00cefb | 2001-01-18 20:29:21 +0000 | [diff] [blame] | 56 | GCONF=$sysconfdir/wine.conf # default path of the wine.conf global config file |
| 57 | LCONF=~/.wine/config # default path of the local config file |
Ove Kaaven | e185888 | 2000-04-08 20:20:21 +0000 | [diff] [blame] | 58 | BINDIST=no # whether called from a binary package config script |
Chris Morgan | a00cefb | 2001-01-18 20:29:21 +0000 | [diff] [blame] | 59 | DOGLOBALCONF=auto # whether to autogenerate wine.conf |
| 60 | DOLOCALCONF=auto # whether to autogenerate localconf |
Ove Kaaven | e185888 | 2000-04-08 20:20:21 +0000 | [diff] [blame] | 61 | DOWCHK=auto # whether to autoconfigure existing-windows installation |
| 62 | DOWINE=auto # whether to autoconfigure no-windows installation |
| 63 | DOREG=auto # whether to install default registry |
Ove Kaaven | b5d37ec | 2000-04-15 20:37:14 +0000 | [diff] [blame] | 64 | SYSREG=yes # whether to make root's registry global (system-default) |
Chris Morgan | 3a21321 | 2001-01-11 20:18:06 +0000 | [diff] [blame] | 65 | CONVCONF=no # whether we are converting an existing .winerc or not |
Ove Kaaven | f561aad | 2000-05-09 22:32:42 +0000 | [diff] [blame] | 66 | |
| 67 | # "make install" still installs the dlls into $libdir, but this may change in the future |
| 68 | # (DLLPATH should point to them if/when they are not in standard ld.so paths) |
| 69 | DLLPATH=$libdir/wine # default path of the dll .so files (except libwine.so) |
| 70 | |
| 71 | # having the Wine debugger launched automatically will be a plus for us |
| 72 | DEBUGGER=$bindir/winedbg # the (installed) path of winedbg |
| 73 | HDEBUGGER=debugger/winedbg # the (non-installed) path of winedbg |
| 74 | |
| 75 | # this is only for existing-windows installs |
Ove Kaaven | b5d37ec | 2000-04-15 20:37:14 +0000 | [diff] [blame] | 76 | WINECONF=tools/wineconf # the path of wineconf perl script |
Ove Kaaven | f561aad | 2000-05-09 22:32:42 +0000 | [diff] [blame] | 77 | |
| 78 | # this is only for no-windows installs |
Chris Morgan | 3a21321 | 2001-01-11 20:18:06 +0000 | [diff] [blame] | 79 | WINEINI=$exdir/config # the path of default wine config file (also used by wineconf) |
Ove Kaaven | e185888 | 2000-04-08 20:20:21 +0000 | [diff] [blame] | 80 | WININI=/dev/null # the path of default win.ini |
Ove Kaaven | b5d37ec | 2000-04-15 20:37:14 +0000 | [diff] [blame] | 81 | SYSTEMINI=$exdir/system.ini # the path of default system.ini |
Ove Kaaven | e185888 | 2000-04-08 20:20:21 +0000 | [diff] [blame] | 82 | REGAPI=programs/regapi/regapi # the path of regapi winelib application |
| 83 | DEFREG=winedefault.reg # the path of the registry file to be fed to regapi |
Ove Kaaven | b5d37ec | 2000-04-15 20:37:14 +0000 | [diff] [blame] | 84 | # CROOT=/var/wine # the path of the fake Drive C (asks user if not set) |
Ove Kaaven | 2c76752 | 2000-10-29 18:02:53 +0000 | [diff] [blame] | 85 | DEFCAT=cat # program to cat $DEFREG with (some packages need zcat) |
Ove Kaaven | f561aad | 2000-05-09 22:32:42 +0000 | [diff] [blame] | 86 | #--- end of defaults |
| 87 | |
| 88 | # temporary files used by the installer |
| 89 | TMPCONF=/tmp/wineinstall.conf |
| 90 | TMPREG=/tmp/wineinstall.reg |
Ove Kaaven | 2043ba0 | 1999-04-18 13:16:29 +0000 | [diff] [blame] | 91 | |
Ove Kaaven | 2c76752 | 2000-10-29 18:02:53 +0000 | [diff] [blame] | 92 | # functions |
| 93 | |
Andreas Mohr | 6dc0054 | 2000-12-05 03:53:51 +0000 | [diff] [blame] | 94 | function std_sleep { |
| 95 | sleep 1 |
| 96 | } |
| 97 | |
Ove Kaaven | 2c76752 | 2000-10-29 18:02:53 +0000 | [diff] [blame] | 98 | function conf_question { |
| 99 | # parameters: $1 = importance, $2 = question-id, $3+ = message lines |
| 100 | # the first two parameters can be used by e.g. debconf in debian packages |
| 101 | # but here we just print the message |
| 102 | shift 2 |
| 103 | echo |
| 104 | local LINE="$1" |
| 105 | while shift |
| 106 | do { |
| 107 | echo "$LINE" |
| 108 | LINE="$1" |
| 109 | } |
| 110 | done |
| 111 | } |
| 112 | |
Ove Kaaven | 6e143b3 | 2000-10-31 00:59:01 +0000 | [diff] [blame] | 113 | function conf_reset_question { |
| 114 | # parameters: $1 = question-id |
| 115 | # this is used to flush any cached answers and "already-displayed" flags |
| 116 | shift # dummy command |
| 117 | } |
| 118 | |
Ove Kaaven | 2c76752 | 2000-10-29 18:02:53 +0000 | [diff] [blame] | 119 | function conf_yesno_answer { |
| 120 | unset ANSWER |
| 121 | while [ "$ANSWER" != 'yes' ] && [ "$ANSWER" != 'no' ] |
| 122 | do { |
| 123 | echo -n "$1" |
| 124 | read ANSWER |
| 125 | } |
| 126 | done |
| 127 | } |
| 128 | |
| 129 | function conf_string_answer { |
| 130 | echo -n "$1" |
| 131 | read ANSWER |
| 132 | } |
| 133 | |
Chris Morgan | a00cefb | 2001-01-18 20:29:21 +0000 | [diff] [blame] | 134 | function create_windows_directories { |
| 135 | for tdir in "$CROOT/windows" "$CROOT/windows/system" \ |
| 136 | "$CROOT/windows/Start Menu" "$CROOT/windows/Start Menu/Programs" \ |
| 137 | "$CROOT/Common Files" "$CROOT/Program Files" \ |
| 138 | "$CROOT/windows/Profiles" "$CROOT/windows/Profiles/Administrator" |
| 139 | do [ -d "$tdir" ] || mkdir "$tdir" |
| 140 | done |
| 141 | [ -f "$CROOT/windows/win.ini" ] || cp "$WININI" "$CROOT/windows/win.ini" |
| 142 | [ -f "$CROOT/windows/system.ini" ] || cp "$SYSTEMINI" "$CROOT/windows/system.ini" |
| 143 | } |
| 144 | |
Ove Kaaven | 2043ba0 | 1999-04-18 13:16:29 +0000 | [diff] [blame] | 145 | # startup... |
| 146 | |
Chris Morgan | a00cefb | 2001-01-18 20:29:21 +0000 | [diff] [blame] | 147 | echo "WINE Installer v0.7" |
Ove Kaaven | 2043ba0 | 1999-04-18 13:16:29 +0000 | [diff] [blame] | 148 | echo |
Ove Kaaven | e185888 | 2000-04-08 20:20:21 +0000 | [diff] [blame] | 149 | |
| 150 | if [ "$BINDIST" = 'no' ] |
| 151 | then { |
| 152 | |
Ove Kaaven | 2043ba0 | 1999-04-18 13:16:29 +0000 | [diff] [blame] | 153 | if ! [ -f configure ] |
| 154 | then { |
| 155 | echo "You're running this from the wrong directory." |
Andreas Mohr | 8724ea8 | 2000-11-25 01:23:32 +0000 | [diff] [blame] | 156 | echo "Change to the Wine source's main directory and try again." |
Ove Kaaven | 2043ba0 | 1999-04-18 13:16:29 +0000 | [diff] [blame] | 157 | exit 1 |
| 158 | } |
| 159 | fi |
| 160 | |
Andreas Mohr | 8bba9ba | 2000-08-28 21:32:08 +0000 | [diff] [blame] | 161 | # check whether RPM installed, and if it is, remove any old wine rpm. |
Ove Kaaven | 2c76752 | 2000-10-29 18:02:53 +0000 | [diff] [blame] | 162 | hash rpm &>/dev/null |
| 163 | RET=$? |
Andreas Mohr | 8bba9ba | 2000-08-28 21:32:08 +0000 | [diff] [blame] | 164 | if [ $RET -eq 0 ]; then |
| 165 | if [ -n "`rpm -qi wine 2>/dev/null|grep "^Name"`" ]; then |
Ove Kaaven | 2c76752 | 2000-10-29 18:02:53 +0000 | [diff] [blame] | 166 | echo "Warning: Old Wine RPM install detected. Do you want to remove it first?" |
| 167 | conf_yesno_answer "(yes/no) " |
| 168 | if [ "$ANSWER" = 'yes' ]; then |
Andreas Mohr | 8bba9ba | 2000-08-28 21:32:08 +0000 | [diff] [blame] | 169 | echo Starting wine rpm removal... |
| 170 | rpm -e wine; RET=$? |
| 171 | if [ $RET -eq 0 ]; then |
| 172 | echo Done. |
| 173 | else |
Phil Cole | a7c48b1 | 2000-08-31 02:07:07 +0000 | [diff] [blame] | 174 | echo "FAILED. Probably you aren't installing as root." |
Andreas Mohr | 8724ea8 | 2000-11-25 01:23:32 +0000 | [diff] [blame] | 175 | echo "Expect problems (library conflicts with existing install etc.)." |
Andreas Mohr | 8bba9ba | 2000-08-28 21:32:08 +0000 | [diff] [blame] | 176 | fi |
| 177 | else |
| 178 | echo "Sorry, I won't install Wine when an rpm version is still installed." |
| 179 | echo "(Wine support suffered from way too many conflicts)" |
| 180 | echo "Have a nice day !" |
Ove Kaaven | 6e143b3 | 2000-10-31 00:59:01 +0000 | [diff] [blame] | 181 | exit 1 |
Andreas Mohr | 8bba9ba | 2000-08-28 21:32:08 +0000 | [diff] [blame] | 182 | fi |
| 183 | fi |
| 184 | fi |
| 185 | |
Andreas Mohr | de53c48 | 2001-04-09 18:32:16 +0000 | [diff] [blame] | 186 | # check whether wine binary still available |
| 187 | if [ -n "`which wine`" ]; then |
| 188 | echo "Warning !! wine binary (still) found, which may indicate" |
| 189 | echo "a (conflicting) previous installation." |
| 190 | echo "You might want to abort and uninstall Wine first." |
| 191 | std_sleep |
| 192 | fi |
| 193 | |
Ove Kaaven | 2043ba0 | 1999-04-18 13:16:29 +0000 | [diff] [blame] | 194 | # run the configure script, if necessary |
| 195 | |
Ove Kaaven | ce2b724 | 2000-03-04 19:13:52 +0000 | [diff] [blame] | 196 | if [ -f config.cache ] && [ -f Makefile ] && [ Makefile -nt configure ] |
Ove Kaaven | 2043ba0 | 1999-04-18 13:16:29 +0000 | [diff] [blame] | 197 | then { |
| 198 | echo "I see that WINE has already been configured, so I'll skip that." |
Andreas Mohr | 6dc0054 | 2000-12-05 03:53:51 +0000 | [diff] [blame] | 199 | std_sleep |
Ove Kaaven | ce2b724 | 2000-03-04 19:13:52 +0000 | [diff] [blame] | 200 | # load configure results |
| 201 | . ./config.cache |
Ove Kaaven | 2043ba0 | 1999-04-18 13:16:29 +0000 | [diff] [blame] | 202 | } |
| 203 | else { |
Ove Kaaven | 2043ba0 | 1999-04-18 13:16:29 +0000 | [diff] [blame] | 204 | echo "Running configure..." |
| 205 | echo |
Ove Kaaven | e185888 | 2000-04-08 20:20:21 +0000 | [diff] [blame] | 206 | if ! ./configure $CONFARGS |
Ove Kaaven | 2043ba0 | 1999-04-18 13:16:29 +0000 | [diff] [blame] | 207 | then { |
| 208 | echo |
| 209 | echo "Configure failed, aborting install." |
| 210 | rm -f config.cache |
| 211 | exit 1 |
| 212 | } |
| 213 | fi |
Ove Kaaven | ce2b724 | 2000-03-04 19:13:52 +0000 | [diff] [blame] | 214 | # load configure results |
| 215 | . ./config.cache |
Ove Kaaven | 2043ba0 | 1999-04-18 13:16:29 +0000 | [diff] [blame] | 216 | # make sure X was found |
Ove Kaaven | ce2b724 | 2000-03-04 19:13:52 +0000 | [diff] [blame] | 217 | eval "$ac_cv_have_x" |
| 218 | if [ "$have_x" != "yes" ] |
Ove Kaaven | 2043ba0 | 1999-04-18 13:16:29 +0000 | [diff] [blame] | 219 | then { |
| 220 | echo "Install the X development headers and try again." |
| 221 | rm -f config.cache |
| 222 | exit 1 |
| 223 | } |
Ove Kaaven | ce2b724 | 2000-03-04 19:13:52 +0000 | [diff] [blame] | 224 | elif [ "$ac_cv_header_X11_xpm_h" != "yes" ] |
Ove Kaaven | b822b84 | 2000-02-25 20:51:09 +0000 | [diff] [blame] | 225 | then { |
| 226 | echo "Install the Xpm development headers and try again." |
| 227 | rm -f config.cache |
| 228 | exit 1 |
| 229 | } |
Ove Kaaven | 2043ba0 | 1999-04-18 13:16:29 +0000 | [diff] [blame] | 230 | fi |
| 231 | } |
| 232 | fi |
| 233 | |
| 234 | # now do the compilation |
| 235 | |
| 236 | if [ -f wine ] && [ wine -nt Makefile ] |
| 237 | then { |
| 238 | echo "Hmm, looks like WINE is already compiled. I'll skip that too, I guess." |
Andreas Mohr | 6dc0054 | 2000-12-05 03:53:51 +0000 | [diff] [blame] | 239 | std_sleep |
Ove Kaaven | 2043ba0 | 1999-04-18 13:16:29 +0000 | [diff] [blame] | 240 | } |
| 241 | else { |
Ove Kaaven | 6e143b3 | 2000-10-31 00:59:01 +0000 | [diff] [blame] | 242 | echo "Compiling WINE. Grab a lunch or two, rent a video, or whatever," |
| 243 | echo "in the meantime..." |
Ove Kaaven | 2043ba0 | 1999-04-18 13:16:29 +0000 | [diff] [blame] | 244 | echo |
Andreas Mohr | 6dc0054 | 2000-12-05 03:53:51 +0000 | [diff] [blame] | 245 | std_sleep |
Ove Kaaven | 2043ba0 | 1999-04-18 13:16:29 +0000 | [diff] [blame] | 246 | if ! { make depend && make; } |
| 247 | then { |
| 248 | echo |
| 249 | echo "Compilation failed, aborting install." |
| 250 | exit 1 |
| 251 | } |
| 252 | fi |
| 253 | echo |
| 254 | } |
| 255 | fi |
| 256 | |
| 257 | # and installation, if root |
| 258 | |
| 259 | if [ `whoami` != 'root' ] |
| 260 | then { |
| 261 | echo "You aren't root, so I'll skip the make install." |
Chris Morgan | a00cefb | 2001-01-18 20:29:21 +0000 | [diff] [blame] | 262 | |
Ove Kaaven | e185888 | 2000-04-08 20:20:21 +0000 | [diff] [blame] | 263 | # setup to run from current directory |
| 264 | DLLPATH="$PWD/dlls" |
| 265 | if [ -z "$LD_LIBRARY_PATH" ] |
| 266 | then LD_LIBRARY_PATH="$PWD:$DLLPATH" |
| 267 | else LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$PWD:$DLLPATH" |
| 268 | fi |
| 269 | export LD_LIBRARY_PATH |
Ove Kaaven | 91ae8cb | 2000-07-23 13:32:04 +0000 | [diff] [blame] | 270 | DEBUGGER="$PWD/$HDEBUGGER" |
Ove Kaaven | e185888 | 2000-04-08 20:20:21 +0000 | [diff] [blame] | 271 | echo |
| 272 | echo "NOTE! To run Wine without installing, you must set the environment variable" |
| 273 | echo "LD_LIBRARY_PATH to $PWD:$DLLPATH" |
| 274 | echo "in your logon scripts." |
Chris Morgan | a00cefb | 2001-01-18 20:29:21 +0000 | [diff] [blame] | 275 | echo |
| 276 | |
| 277 | # see if wine is installed on the users system, if not prompt them |
| 278 | # and then exit |
| 279 | if [ ! `which wine` ] |
| 280 | then |
| 281 | echo "Could not find wine on your system. Run wineinstall as root to install wine" |
| 282 | echo "before re-running wineinstall as a user." |
| 283 | echo |
| 284 | echo "Exiting wineinstall" |
| 285 | exit 1; |
| 286 | fi |
Ove Kaaven | 2043ba0 | 1999-04-18 13:16:29 +0000 | [diff] [blame] | 287 | } |
| 288 | else { |
| 289 | echo "Now installing binaries onto the system..." |
| 290 | echo |
Andreas Mohr | 6dc0054 | 2000-12-05 03:53:51 +0000 | [diff] [blame] | 291 | std_sleep |
Ove Kaaven | 2043ba0 | 1999-04-18 13:16:29 +0000 | [diff] [blame] | 292 | if ! make install |
| 293 | then { |
| 294 | echo |
| 295 | echo "Installation failed, aborting." |
| 296 | exit 1 |
| 297 | } |
| 298 | fi |
Ove Kaaven | e185888 | 2000-04-08 20:20:21 +0000 | [diff] [blame] | 299 | if [ -f /etc/ld.so.conf ] && ! grep -qs "$libdir" /etc/ld.so.conf |
Ove Kaaven | b822b84 | 2000-02-25 20:51:09 +0000 | [diff] [blame] | 300 | then { |
| 301 | echo |
Ove Kaaven | e185888 | 2000-04-08 20:20:21 +0000 | [diff] [blame] | 302 | echo "$libdir didn't exist in your /etc/ld.so.conf, adding it now..." |
| 303 | echo "$libdir" >>/etc/ld.so.conf |
Ove Kaaven | b822b84 | 2000-02-25 20:51:09 +0000 | [diff] [blame] | 304 | echo "Re-running ldconfig..." |
Ove Kaaven | ce2b724 | 2000-03-04 19:13:52 +0000 | [diff] [blame] | 305 | eval "$ac_cv_path_LDCONFIG" |
Ove Kaaven | b822b84 | 2000-02-25 20:51:09 +0000 | [diff] [blame] | 306 | } |
| 307 | fi |
Ove Kaaven | 2043ba0 | 1999-04-18 13:16:29 +0000 | [diff] [blame] | 308 | } |
| 309 | fi |
Ove Kaaven | 2043ba0 | 1999-04-18 13:16:29 +0000 | [diff] [blame] | 310 | |
Ove Kaaven | e185888 | 2000-04-08 20:20:21 +0000 | [diff] [blame] | 311 | } |
| 312 | fi # BINDIST |
| 313 | |
Chris Morgan | a00cefb | 2001-01-18 20:29:21 +0000 | [diff] [blame] | 314 | # now check whether we should generate wine.conf |
| 315 | if [ -z "$DOGLOBALCONF" ] |
| 316 | then DOGLOBALCONF=auto |
Ove Kaaven | 2043ba0 | 1999-04-18 13:16:29 +0000 | [diff] [blame] | 317 | fi |
| 318 | |
Chris Morgan | a00cefb | 2001-01-18 20:29:21 +0000 | [diff] [blame] | 319 | if [ "$DOGLOBALCONF" = 'auto' ] |
Ove Kaaven | 2043ba0 | 1999-04-18 13:16:29 +0000 | [diff] [blame] | 320 | then { |
Chris Morgan | a00cefb | 2001-01-18 20:29:21 +0000 | [diff] [blame] | 321 | # see if we already have a system wine.conf |
| 322 | if [ ! -f $GCONF ] && [ `whoami` = 'root' ] |
| 323 | then |
| 324 | DOGLOBALCONF=no |
| 325 | echo "Creation of a global config file is not supported in wineinstall at this" |
| 326 | echo "time. When the configuration architecture is cleaned up this functionality" |
| 327 | echo "will be restored to wineinstall." |
| 328 | echo |
Ove Kaaven | 2043ba0 | 1999-04-18 13:16:29 +0000 | [diff] [blame] | 329 | fi |
| 330 | } |
| 331 | fi |
| 332 | |
Chris Morgan | a00cefb | 2001-01-18 20:29:21 +0000 | [diff] [blame] | 333 | if [ "$DOLOCALCONF" = 'auto' ] |
Ove Kaaven | 2043ba0 | 1999-04-18 13:16:29 +0000 | [diff] [blame] | 334 | then { |
Chris Morgan | a00cefb | 2001-01-18 20:29:21 +0000 | [diff] [blame] | 335 | # see if the user is root, if so, explicitly ask them if they want a |
| 336 | # local config file |
| 337 | if [ `whoami` = 'root' ] |
| 338 | then |
| 339 | echo "You are running as root. Do you want a local config file," |
| 340 | echo "file, ~/.wine/config, created?" |
| 341 | conf_yesno_answer "(yes/no) " |
| 342 | DOLOCALCONF="$ANSWER" |
| 343 | else |
| 344 | echo "Create local config file ~/.wine/config?" |
| 345 | conf_yesno_answer "(yes/no) " |
| 346 | echo |
| 347 | DOLOCALCONF="$ANSWER" |
| 348 | if [ "$ANSWER" = 'no' ] |
| 349 | then |
| 350 | conf_question high need_root \ |
| 351 | "Aborting install. Try again as root to generate a system wine.conf." |
| 352 | exit 1 |
Ove Kaaven | 2043ba0 | 1999-04-18 13:16:29 +0000 | [diff] [blame] | 353 | fi |
Chris Morgan | a00cefb | 2001-01-18 20:29:21 +0000 | [diff] [blame] | 354 | fi |
| 355 | |
| 356 | if [ -f "$LCONF" ] |
| 357 | then |
| 358 | echo "Found existing $LCONF, if you continue this file will be" |
| 359 | echo "overwritten. Continue running wineinstall?" |
| 360 | conf_yesno_answer "(yes/no) " |
| 361 | echo |
| 362 | if [ "$ANSWER" = 'no' ] |
| 363 | then |
| 364 | echo "Exiting wineinstall" |
| 365 | exit 1 |
| 366 | fi |
Ove Kaaven | 2043ba0 | 1999-04-18 13:16:29 +0000 | [diff] [blame] | 367 | fi |
| 368 | } |
| 369 | fi |
| 370 | |
Chris Morgan | a00cefb | 2001-01-18 20:29:21 +0000 | [diff] [blame] | 371 | # generate $TMPCONF from existing windows install, if any |
| 372 | if [ "$DOLOCALCONF" = 'yes' ] |
Ove Kaaven | 2043ba0 | 1999-04-18 13:16:29 +0000 | [diff] [blame] | 373 | then { |
Ove Kaaven | e185888 | 2000-04-08 20:20:21 +0000 | [diff] [blame] | 374 | if [ "$DOWCHK" = 'yes' ] || [ "$DOWCHK" = 'auto' ] |
| 375 | then { |
Ove Kaaven | 2c76752 | 2000-10-29 18:02:53 +0000 | [diff] [blame] | 376 | echo -n "Searching for an existing Windows installation..." |
Chris Morgan | a00cefb | 2001-01-18 20:29:21 +0000 | [diff] [blame] | 377 | if ! $WINECONF -inifile "$WINEINI" > $TMPCONF 2>/dev/null |
Ove Kaaven | e185888 | 2000-04-08 20:20:21 +0000 | [diff] [blame] | 378 | then { |
Chris Morgan | a00cefb | 2001-01-18 20:29:21 +0000 | [diff] [blame] | 379 | rm -f $TMPCONF $TMPREG > /dev/null |
| 380 | |
Ove Kaaven | 2c76752 | 2000-10-29 18:02:53 +0000 | [diff] [blame] | 381 | echo " not found." |
| 382 | conf_question low do_without_windows \ |
Ove Kaaven | 6e143b3 | 2000-10-31 00:59:01 +0000 | [diff] [blame] | 383 | "Windows was not found on your system, so I assume you want" \ |
| 384 | "a Wine-only installation. Am I correct?" |
Ove Kaaven | 2c76752 | 2000-10-29 18:02:53 +0000 | [diff] [blame] | 385 | conf_yesno_answer "(yes/no) " |
| 386 | if [ "$ANSWER" = 'no' ] |
Ove Kaaven | e185888 | 2000-04-08 20:20:21 +0000 | [diff] [blame] | 387 | then { |
Ove Kaaven | 2c76752 | 2000-10-29 18:02:53 +0000 | [diff] [blame] | 388 | conf_question high windows_not_found \ |
| 389 | "Aborting install. Make sure your Windows partition is mounted and try again," \ |
Chris Morgan | a00cefb | 2001-01-18 20:29:21 +0000 | [diff] [blame] | 390 | "or create $LCONF manually by copying from $WINEINI and adapting the drive paths." |
Ove Kaaven | e185888 | 2000-04-08 20:20:21 +0000 | [diff] [blame] | 391 | exit 1 |
| 392 | } |
| 393 | fi |
Ove Kaaven | 2c76752 | 2000-10-29 18:02:53 +0000 | [diff] [blame] | 394 | DOWINE=yes |
Ove Kaaven | e185888 | 2000-04-08 20:20:21 +0000 | [diff] [blame] | 395 | } |
| 396 | else { |
Ove Kaaven | 2c76752 | 2000-10-29 18:02:53 +0000 | [diff] [blame] | 397 | echo " found." |
Chris Morgan | a00cefb | 2001-01-18 20:29:21 +0000 | [diff] [blame] | 398 | |
Ove Kaaven | 6e143b3 | 2000-10-31 00:59:01 +0000 | [diff] [blame] | 399 | conf_reset_question windows_found |
Ove Kaaven | 2c76752 | 2000-10-29 18:02:53 +0000 | [diff] [blame] | 400 | conf_question low windows_found \ |
Chris Morgan | a00cefb | 2001-01-18 20:29:21 +0000 | [diff] [blame] | 401 | "Created $LCONF using your existing Windows installation." \ |
Ove Kaaven | 2c76752 | 2000-10-29 18:02:53 +0000 | [diff] [blame] | 402 | "You probably want to review the file, though." |
Ove Kaaven | e185888 | 2000-04-08 20:20:21 +0000 | [diff] [blame] | 403 | DOWINE=no |
| 404 | } |
| 405 | fi |
Ove Kaaven | e185888 | 2000-04-08 20:20:21 +0000 | [diff] [blame] | 406 | } |
| 407 | elif [ "$DOWINE" = 'auto' ] |
| 408 | then DOWINE=yes |
| 409 | fi |
| 410 | } |
| 411 | elif [ "$DOWINE" = 'auto' ] |
Chris Morgan | a00cefb | 2001-01-18 20:29:21 +0000 | [diff] [blame] | 412 | then |
| 413 | DOWINE=no |
Ove Kaaven | e185888 | 2000-04-08 20:20:21 +0000 | [diff] [blame] | 414 | fi |
| 415 | |
Ove Kaaven | b5d37ec | 2000-04-15 20:37:14 +0000 | [diff] [blame] | 416 | # setup a no-windows installation, if necessary |
Ove Kaaven | e185888 | 2000-04-08 20:20:21 +0000 | [diff] [blame] | 417 | if [ "$DOWINE" = 'yes' ] |
| 418 | then { |
Chris Morgan | a00cefb | 2001-01-18 20:29:21 +0000 | [diff] [blame] | 419 | # set an appropriate DCROOT |
Ove Kaaven | e185888 | 2000-04-08 20:20:21 +0000 | [diff] [blame] | 420 | if [ `whoami` != 'root' ] |
| 421 | then DCROOT=~/c |
| 422 | else DCROOT=/c |
| 423 | fi |
Chris Morgan | a00cefb | 2001-01-18 20:29:21 +0000 | [diff] [blame] | 424 | |
Chris Morgan | 3a21321 | 2001-01-11 20:18:06 +0000 | [diff] [blame] | 425 | if [ -f ~/.winerc ] |
Ove Kaaven | e185888 | 2000-04-08 20:20:21 +0000 | [diff] [blame] | 426 | then { |
Chris Morgan | 3a21321 | 2001-01-11 20:18:06 +0000 | [diff] [blame] | 427 | conf_question medium convert_config \ |
Chris Morgan | a00cefb | 2001-01-18 20:29:21 +0000 | [diff] [blame] | 428 | "I found the old version Wine config file, .winerc, in your " \ |
Chris Morgan | 3a21321 | 2001-01-11 20:18:06 +0000 | [diff] [blame] | 429 | "home directory. I can convert this to the new format or use the" \ |
| 430 | "new default Wine config file. Convert?" |
| 431 | conf_yesno_answer "(yes/no) " |
| 432 | if [ "$ANSWER" = 'yes' ] |
| 433 | then { |
| 434 | WINEINI=~/.winerc |
| 435 | CONVCONF=yes |
| 436 | } |
| 437 | fi |
| 438 | } |
Chris Morgan | a00cefb | 2001-01-18 20:29:21 +0000 | [diff] [blame] | 439 | else { |
| 440 | |
| 441 | conf_question low drivec_path \ |
| 442 | "Configuring Wine without Windows." \ |
| 443 | "Some fake Windows directories must be created, to hold any .ini files, DLLs," \ |
| 444 | "start menu entries, and other things your applications may need to install." \ |
| 445 | "Where would you like your fake C drive to be placed?" |
| 446 | while [ -z "$CROOT" ] |
| 447 | do { |
| 448 | conf_string_answer "(default is $DCROOT) " |
| 449 | [ -z "$ANSWER" ] && ANSWER="$DCROOT" |
| 450 | if ! [ -d "$ANSWER" ] |
| 451 | then { |
| 452 | if mkdir -p "$ANSWER" |
| 453 | then CROOT="$ANSWER" |
| 454 | else |
| 455 | echo "Directory $ANSWER can't be created !" |
| 456 | conf_reset_question drivec_path |
| 457 | fi |
| 458 | } |
| 459 | else CROOT="$ANSWER" |
| 460 | fi |
| 461 | } |
| 462 | done |
| 463 | echo "Configuring Wine for a no-windows install in $CROOT..." |
| 464 | |
| 465 | create_windows_directories |
| 466 | } |
Chris Morgan | 3a21321 | 2001-01-11 20:18:06 +0000 | [diff] [blame] | 467 | fi |
| 468 | |
Chris Morgan | a00cefb | 2001-01-18 20:29:21 +0000 | [diff] [blame] | 469 | # create $LCONF using the default config file $WINEINI |
| 470 | if [ "$DOLOCALCONF" = 'yes' ] && [ "$CONVCONF" = 'no' ] |
Chris Morgan | 3a21321 | 2001-01-11 20:18:06 +0000 | [diff] [blame] | 471 | then { |
Chris Morgan | a00cefb | 2001-01-18 20:29:21 +0000 | [diff] [blame] | 472 | sed "s|\"Path\" = \"/c\"\$|\"Path\" = \"${CROOT}\"|" $WINEINI > $TMPCONF |
Ove Kaaven | 6e143b3 | 2000-10-31 00:59:01 +0000 | [diff] [blame] | 473 | conf_reset_question default_config |
Ove Kaaven | 2c76752 | 2000-10-29 18:02:53 +0000 | [diff] [blame] | 474 | conf_question low default_config \ |
Chris Morgan | a00cefb | 2001-01-18 20:29:21 +0000 | [diff] [blame] | 475 | "Created $LCONF using default Wine configuration." \ |
Ove Kaaven | 2c76752 | 2000-10-29 18:02:53 +0000 | [diff] [blame] | 476 | "You probably want to review the file, though." |
Ove Kaaven | e185888 | 2000-04-08 20:20:21 +0000 | [diff] [blame] | 477 | } |
| 478 | fi |
Chris Morgan | 3a21321 | 2001-01-11 20:18:06 +0000 | [diff] [blame] | 479 | |
Ove Kaaven | 91ae8cb | 2000-07-23 13:32:04 +0000 | [diff] [blame] | 480 | # now we really should install the registry |
| 481 | if [ "$DOREG" = 'auto' ] |
| 482 | then DOREG=yes |
| 483 | fi |
Ove Kaaven | e185888 | 2000-04-08 20:20:21 +0000 | [diff] [blame] | 484 | } |
Ove Kaaven | 2043ba0 | 1999-04-18 13:16:29 +0000 | [diff] [blame] | 485 | fi |
| 486 | echo |
| 487 | |
Chris Morgan | a00cefb | 2001-01-18 20:29:21 +0000 | [diff] [blame] | 488 | #install the local config file $LCONF |
| 489 | if [ "$DOLOCALCONF" = 'yes' ] |
| 490 | then |
| 491 | if [ ! -w ~/.wine ] |
| 492 | then |
| 493 | mkdir ~/.wine |
Chris Morgan | 3a21321 | 2001-01-11 20:18:06 +0000 | [diff] [blame] | 494 | fi |
Chris Morgan | a00cefb | 2001-01-18 20:29:21 +0000 | [diff] [blame] | 495 | |
| 496 | if [ "$CONVCONF" = 'no' ] |
| 497 | then |
| 498 | cp $TMPCONF $LCONF > /dev/null |
| 499 | fi |
| 500 | else |
| 501 | DOREG=no |
| 502 | fi |
| 503 | |
| 504 | #install the global config file $GCONF |
| 505 | if [ "$DOGLOBALCONF" = 'yes' ] |
| 506 | then |
| 507 | if [ ! -f $sysconfdir ] |
| 508 | then |
| 509 | mkdir -p $sysconfdir |
| 510 | fi |
| 511 | |
| 512 | cp $TMPCONF $GCONF > /dev/null |
Ove Kaaven | e185888 | 2000-04-08 20:20:21 +0000 | [diff] [blame] | 513 | fi |
| 514 | |
| 515 | # check whether we need to install default registry |
| 516 | # (not to be done if windows registry exists) |
| 517 | if [ "$DOREG" = 'auto' ] |
| 518 | then { |
| 519 | echo "Checking for real Windows registry..." |
| 520 | if [ -f "$CROOT/windows/system.dat" ] |
| 521 | then DOREG=no |
| 522 | elif [ -f "$CROOT/windows/system32/config/system" ] |
| 523 | then DOREG=no |
| 524 | else DOREG=yes |
| 525 | fi |
| 526 | if [ "$DOREG" = 'yes' ] |
| 527 | then echo "Not found, default Wine registry will be installed." |
| 528 | else echo "Windows registry found, will not install default Wine registry." |
| 529 | fi |
| 530 | echo |
| 531 | } |
| 532 | fi |
| 533 | |
Ove Kaaven | 2043ba0 | 1999-04-18 13:16:29 +0000 | [diff] [blame] | 534 | # install default registry entries |
| 535 | if [ "$DOREG" = 'yes' ] |
| 536 | then { |
Ove Kaaven | e185888 | 2000-04-08 20:20:21 +0000 | [diff] [blame] | 537 | if [ "$BINDIST" = 'no' ] |
| 538 | then { |
| 539 | echo "Compiling regapi..." |
Ove Kaaven | e185888 | 2000-04-08 20:20:21 +0000 | [diff] [blame] | 540 | (cd programs/regapi; make) |
| 541 | echo |
| 542 | } |
| 543 | fi |
Ove Kaaven | f561aad | 2000-05-09 22:32:42 +0000 | [diff] [blame] | 544 | echo "Preparing to install default Wine registry entries..." |
| 545 | |
Chris Morgan | a00cefb | 2001-01-18 20:29:21 +0000 | [diff] [blame] | 546 | # edit config files so we don't have to run regapi under X |
Chris Morgan | 3a21321 | 2001-01-11 20:18:06 +0000 | [diff] [blame] | 547 | if [ "$CONVCONF" = 'yes' ] |
| 548 | then |
Chris Morgan | a00cefb | 2001-01-18 20:29:21 +0000 | [diff] [blame] | 549 | mv $WINEINI $WINEINI.new |
| 550 | sed "s/GraphicsDriver=.*/GraphicsDriver=ttydrv/" $WINEINI.new > $WINEINI |
Chris Morgan | 3a21321 | 2001-01-11 20:18:06 +0000 | [diff] [blame] | 551 | else |
Chris Morgan | a00cefb | 2001-01-18 20:29:21 +0000 | [diff] [blame] | 552 | mv $LCONF $LCONF.new |
| 553 | sed "s/\"GraphicsDriver\" = .*/\"GraphicsDriver\" = \"ttydrv\"/" $LCONF.new > $LCONF |
Chris Morgan | 3a21321 | 2001-01-11 20:18:06 +0000 | [diff] [blame] | 554 | fi |
Ove Kaaven | f561aad | 2000-05-09 22:32:42 +0000 | [diff] [blame] | 555 | |
| 556 | # create a temporary wineinstall.reg with fixed debugger path |
Ove Kaaven | 2c76752 | 2000-10-29 18:02:53 +0000 | [diff] [blame] | 557 | $DEFCAT $DEFREG | sed "s|debugger/winedbg|${DEBUGGER}|" > $TMPREG |
Ove Kaaven | f561aad | 2000-05-09 22:32:42 +0000 | [diff] [blame] | 558 | |
Ove Kaaven | e185888 | 2000-04-08 20:20:21 +0000 | [diff] [blame] | 559 | echo "Installing default Wine registry entries..." |
Ove Kaaven | 2043ba0 | 1999-04-18 13:16:29 +0000 | [diff] [blame] | 560 | echo |
Chris Morgan | a00cefb | 2001-01-18 20:29:21 +0000 | [diff] [blame] | 561 | if ! $REGAPI setValue < $TMPREG > /dev/null |
Ove Kaaven | 2043ba0 | 1999-04-18 13:16:29 +0000 | [diff] [blame] | 562 | then { |
Chris Morgan | a00cefb | 2001-01-18 20:29:21 +0000 | [diff] [blame] | 563 | rm -f $TMPREG |
Ove Kaaven | f561aad | 2000-05-09 22:32:42 +0000 | [diff] [blame] | 564 | echo "Registry install failed." |
Ove Kaaven | 6e143b3 | 2000-10-31 00:59:01 +0000 | [diff] [blame] | 565 | conf_reset_question regapi_error |
Ove Kaaven | 2c76752 | 2000-10-29 18:02:53 +0000 | [diff] [blame] | 566 | conf_question high regapi_error |
Ove Kaaven | b822b84 | 2000-02-25 20:51:09 +0000 | [diff] [blame] | 567 | exit 1 |
Ove Kaaven | 2043ba0 | 1999-04-18 13:16:29 +0000 | [diff] [blame] | 568 | } |
Chris Morgan | 3a21321 | 2001-01-11 20:18:06 +0000 | [diff] [blame] | 569 | else { |
Chris Morgan | a00cefb | 2001-01-18 20:29:21 +0000 | [diff] [blame] | 570 | # if we are converting from a .winerc file, running regapi once |
| 571 | # will ONLY convert .winerc -> ~/.wine/config, it will not import the |
| 572 | # registry data. so if we are converting we need to run regapi twice |
| 573 | if [ "$CONVCONF" = 'yes' ] |
| 574 | then |
| 575 | if ! $REGAPI setValue < $TMPREG > /dev/null |
| 576 | then |
| 577 | rm -f $TMPREG |
| 578 | echo "Registry install failed." |
| 579 | conf_reset_question regapi_error |
| 580 | conf_question high regapi_error |
| 581 | exit 1 |
| 582 | else |
| 583 | echo |
| 584 | echo "Registry entries successfully installed." |
| 585 | fi |
| 586 | else |
| 587 | echo |
| 588 | echo "Registry entries successfully installed." |
| 589 | fi |
Chris Morgan | 3a21321 | 2001-01-11 20:18:06 +0000 | [diff] [blame] | 590 | } |
Ove Kaaven | 2043ba0 | 1999-04-18 13:16:29 +0000 | [diff] [blame] | 591 | fi |
Chris Morgan | a00cefb | 2001-01-18 20:29:21 +0000 | [diff] [blame] | 592 | rm -f $TMPREG |
Ove Kaaven | b5d37ec | 2000-04-15 20:37:14 +0000 | [diff] [blame] | 593 | if [ "$SYSREG" = 'auto' ] |
| 594 | then SYSREG=yes |
| 595 | fi |
Chris Morgan | 3a21321 | 2001-01-11 20:18:06 +0000 | [diff] [blame] | 596 | |
Chris Morgan | a00cefb | 2001-01-18 20:29:21 +0000 | [diff] [blame] | 597 | # if we converted we need to change the graphics driver back and |
| 598 | # restore the original .winerc file |
Chris Morgan | 3a21321 | 2001-01-11 20:18:06 +0000 | [diff] [blame] | 599 | if [ "$CONVCONF" = 'yes' ] |
| 600 | then |
Chris Morgan | a00cefb | 2001-01-18 20:29:21 +0000 | [diff] [blame] | 601 | mv $WINEINI.new $WINEINI |
Chris Morgan | 3a21321 | 2001-01-11 20:18:06 +0000 | [diff] [blame] | 602 | fi |
Chris Morgan | a00cefb | 2001-01-18 20:29:21 +0000 | [diff] [blame] | 603 | |
| 604 | sed "s/\"GraphicsDriver\" = .*/\"GraphicsDriver\" = \"x11drv\"/" $LCONF > $LCONF.new |
| 605 | mv $LCONF.new $LCONF |
Ove Kaaven | 2043ba0 | 1999-04-18 13:16:29 +0000 | [diff] [blame] | 606 | } |
| 607 | fi |
Ove Kaaven | b5d37ec | 2000-04-15 20:37:14 +0000 | [diff] [blame] | 608 | |
| 609 | # make root's registry global, if desired |
Chris Morgan | 3a21321 | 2001-01-11 20:18:06 +0000 | [diff] [blame] | 610 | if [ `whoami` = 'root' ] && [ "$DOREG" = 'yes' ] && [ "$SYSREG" = 'yes' ] |
Ove Kaaven | b5d37ec | 2000-04-15 20:37:14 +0000 | [diff] [blame] | 611 | then { |
Ove Kaaven | 91ae8cb | 2000-07-23 13:32:04 +0000 | [diff] [blame] | 612 | [ -d ~/.wine ] || mkdir ~/.wine |
Ove Kaaven | b5d37ec | 2000-04-15 20:37:14 +0000 | [diff] [blame] | 613 | if ! [ -f $sysconfdir/wine.userreg ] |
| 614 | then { |
| 615 | echo "Linking root's user registry hive to the global registry..." |
Ove Kaaven | 6e143b3 | 2000-10-31 00:59:01 +0000 | [diff] [blame] | 616 | [ -f ~/.wine/wine.userreg ] && cp ~/.wine/wine.userreg $sysconfdir/wine.userreg |
Ove Kaaven | b5d37ec | 2000-04-15 20:37:14 +0000 | [diff] [blame] | 617 | ln -sf $sysconfdir/wine.userreg ~/.wine/wine.userreg |
| 618 | } |
| 619 | fi |
| 620 | if ! [ -f $sysconfdir/wine.systemreg ] |
| 621 | then { |
| 622 | echo "Linking root's system registry hive to the global registry..." |
Ove Kaaven | 6e143b3 | 2000-10-31 00:59:01 +0000 | [diff] [blame] | 623 | [ -f ~/.wine/system.reg ] && cp ~/.wine/system.reg $sysconfdir/wine.systemreg |
Ove Kaaven | b5d37ec | 2000-04-15 20:37:14 +0000 | [diff] [blame] | 624 | ln -sf $sysconfdir/wine.systemreg ~/.wine/system.reg |
| 625 | } |
| 626 | fi |
| 627 | } |
| 628 | fi |
| 629 | |
Chris Morgan | a00cefb | 2001-01-18 20:29:21 +0000 | [diff] [blame] | 630 | # cleanup any temporary files that may remain |
| 631 | if [ -f $TMPCONF ] |
| 632 | then rm -f $TMPCONF |
| 633 | fi |
| 634 | if [ -f $TMPREG ] |
| 635 | then rm -f $TMPREG |
| 636 | fi |
| 637 | |
| 638 | |
Ove Kaaven | b5d37ec | 2000-04-15 20:37:14 +0000 | [diff] [blame] | 639 | # it's a wrap |
Ove Kaaven | 2043ba0 | 1999-04-18 13:16:29 +0000 | [diff] [blame] | 640 | echo |
| 641 | echo "Installation complete for now. Good luck (this is still alpha software)." |
Ove Kaaven | e185888 | 2000-04-08 20:20:21 +0000 | [diff] [blame] | 642 | echo "If you have problems with WINE, please read the documentation first," |
| 643 | echo "as many kinds of potential problems are explained there." |
Ove Kaaven | 6e143b3 | 2000-10-31 00:59:01 +0000 | [diff] [blame] | 644 | |
| 645 | exit 0 |