|  | #!/bin/sh | 
|  | # WINE Installation script | 
|  | # Can do almost everything from compiling to configuring... | 
|  | # | 
|  | # Copyright 1999 Ove Kåven | 
|  | # | 
|  | # This library is free software; you can redistribute it and/or | 
|  | # modify it under the terms of the GNU Lesser General Public | 
|  | # License as published by the Free Software Foundation; either | 
|  | # version 2.1 of the License, or (at your option) any later version. | 
|  | # | 
|  | # This library is distributed in the hope that it will be useful, | 
|  | # but WITHOUT ANY WARRANTY; without even the implied warranty of | 
|  | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | 
|  | # Lesser General Public License for more details. | 
|  | # | 
|  | # You should have received a copy of the GNU Lesser General Public | 
|  | # License along with this library; if not, write to the Free Software | 
|  | # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA | 
|  | # | 
|  |  | 
|  | #--- defaults (change these if you are a packager) | 
|  | CONFARGS=""                   # configure args, e.g. --prefix=/usr | 
|  |  | 
|  | std_sleep() { | 
|  | sleep 1 | 
|  | } | 
|  |  | 
|  | conf_yesno_answer() { | 
|  | unset ANSWER | 
|  | while [ "$ANSWER" != 'yes' ] && [ "$ANSWER" != 'no' ] | 
|  | do { | 
|  | echo -n "$1" | 
|  | read ANSWER | 
|  | } | 
|  | done | 
|  | } | 
|  |  | 
|  | # startup... | 
|  |  | 
|  | echo "Wine Installer v1.0" | 
|  | echo | 
|  |  | 
|  | if [ ! -f configure ] | 
|  | then | 
|  | if [ -f ../configure ] | 
|  | then { | 
|  | cd .. | 
|  | } | 
|  | else { | 
|  | echo "You're running this from the wrong directory." | 
|  | echo "Change to the Wine source's main directory and try again." | 
|  | exit 1 | 
|  | } | 
|  | fi | 
|  | fi | 
|  |  | 
|  | if [ -w / ] | 
|  | then | 
|  | echo "You are running wineinstall as root, this is not advisable. Please rerun as a user." | 
|  | echo "Aborting." | 
|  | exit 1 | 
|  | fi | 
|  |  | 
|  | if [ ! -w . ] | 
|  | then | 
|  | echo "The source directory is not writable. You probably extracted the sources as root." | 
|  | echo "You should remove the source tree and extract it again as a normal user." | 
|  | exit 1 | 
|  | fi | 
|  |  | 
|  | # check whether RPM installed, and if it is, remove any old wine rpm. | 
|  | if [ -x `which rpm 2>/dev/null` ]; then | 
|  | if [ -n "`rpm -qi wine 2>/dev/null|grep "^Name"`" ]; then | 
|  | echo "Warning: Old Wine RPM install detected. Do you want to remove it first?" | 
|  | conf_yesno_answer "(yes/no) " | 
|  | if [ "$ANSWER" = 'yes' ]; then | 
|  | echo "We need to remove the rpm as root, please enter your root password" | 
|  | echo | 
|  | echo Starting wine rpm removal... | 
|  | su -c "rpm -e wine; RET=$?" | 
|  | if [ $RET -eq 0 ]; then | 
|  | echo Done. | 
|  | else | 
|  | echo "FAILED. Probably you aren't installing as root." | 
|  | echo "Expect problems (library conflicts with existing install etc.)." | 
|  | fi | 
|  | else | 
|  | echo "Sorry, I won't install Wine when an rpm version is still installed." | 
|  | echo "(Wine support suffered from way too many conflicts between RPM" | 
|  | echo "and source installs)" | 
|  | echo "Have a nice day !" | 
|  | exit 1 | 
|  | fi | 
|  | fi | 
|  | fi | 
|  |  | 
|  | # check whether wine binary still available | 
|  | if [ -x `which wine 2>/dev/null` ] && [ -n "`wine --version 2>/dev/null`" ] | 
|  | then | 
|  | echo "Warning !! wine binary (still) found, which may indicate" | 
|  | echo "a (conflicting) previous installation." | 
|  | echo "You might want to abort and uninstall Wine first." | 
|  | echo "(If you previously tried to install from source manually, " | 
|  | echo "run 'make uninstall' from the wine root directory)" | 
|  | std_sleep | 
|  | fi | 
|  |  | 
|  | # run the configure script, if necessary | 
|  |  | 
|  | if [ -f Makefile ] | 
|  | then | 
|  | echo "I see that Wine has already been configured, so I'll skip that." | 
|  | std_sleep | 
|  | else | 
|  | echo "Running configure..." | 
|  | echo | 
|  | if ! ./configure $CONFARGS | 
|  | then { | 
|  | echo | 
|  | echo "Configure failed, aborting install." | 
|  | exit 1 | 
|  | } | 
|  | fi | 
|  | fi | 
|  |  | 
|  | # now do the compilation and install, we need to always do this because we | 
|  | # don't want the 'make install' command we might run to run 'make' as root | 
|  |  | 
|  | # ask the user if they want to build and install wine | 
|  | echo | 
|  | echo "We need to install wine as root user, do you want us to build wine," | 
|  | echo "'su root' and install Wine?  Enter 'no' to continue without installing" | 
|  | conf_yesno_answer "(yes/no) " | 
|  | ROOTINSTALL="$ANSWER" | 
|  |  | 
|  | if [ "$ROOTINSTALL" = "yes" ] | 
|  | then sucommand="make install" | 
|  | fi | 
|  |  | 
|  | echo | 
|  | echo "Compiling Wine. Grab a lunch or two, rent a video, or whatever," | 
|  | echo "in the meantime..." | 
|  | echo | 
|  | std_sleep | 
|  |  | 
|  | # try to just make wine, if this fails 'make depend' and try to remake | 
|  | if ! { make; } | 
|  | then | 
|  | if ! { make depend && make; } | 
|  | then | 
|  | echo | 
|  | echo "Compilation failed, aborting install." | 
|  | exit 1 | 
|  | fi | 
|  | fi | 
|  |  | 
|  | if [ "$ROOTINSTALL" = "no" ] | 
|  | then | 
|  | exit 0 | 
|  | fi | 
|  |  | 
|  | echo | 
|  | echo "Performing 'make install' as root to install binaries, enter root password" | 
|  |  | 
|  | if ! su root -c "$sucommand" | 
|  | then | 
|  | echo | 
|  | echo "Incorrect root password. If you are running Ubuntu or a similar distribution," | 
|  | echo "'make install' needs to be run via the sudo wrapper, so trying that one now" | 
|  | if ! sudo su root -c "$sucommand" | 
|  | then | 
|  | echo | 
|  | echo "Either you entered an incorrect password or we failed to" | 
|  | echo "run '$sucommand' correctly." | 
|  | echo "If you didn't enter an incorrect password then please" | 
|  | echo "report this error and any steps to possibly reproduce it to" | 
|  | echo "http://bugs.winehq.org/" | 
|  | echo | 
|  | echo "Installation failed, aborting." | 
|  | exit 1 | 
|  | fi | 
|  | fi | 
|  |  | 
|  | # it's a wrap | 
|  | echo | 
|  | echo "Installation complete." | 
|  | echo "If you have problems with Wine, please read the documentation first," | 
|  | echo "as many kinds of potential problems are explained there." | 
|  |  | 
|  | exit 0 |