#!/bin/sh ### Check if player are still installed if [ -d /opt/openslx/plugin-repo/vmware/$1/vmroot ]; then echo " * $1 seems to be installed. There shouldn't be a need for a new installation." echo " If you want to reinstall $1 press \"y\" else we will exit" read if [ "${REPLY}" != "y" ]; then echo " * $1 is already installed. Nothing to do." exit fi echo " * $1 will be reinstalled" fi ### Now define values if [ "$1" == "vmpl1.0" ]; then vmplversion="vmpl1.0" url=http://download3.vmware.com/software/vmplayer/VMware-player-1.0.7-91707.tar.gz tgzfile=VMware-player-1.0.7-91707.tar.gz else if [ "$1" == "vmpl2.0" ]; then vmplversion="vmpl2.0" url=http://download3.vmware.com/software/vmplayer/VMware-player-2.0.4-93057.i386.tar.gz tgzfile=VMware-player-2.0.4-93057.i386.tar.gz fi fi ### Give informations about the EULA echo "" echo "EULA information for $vmplversion" echo "" echo "This script will download and install vmplayer from http://www.vmware.com/" echo "Please go to http://vmware.com/download/player/player_reg.html" echo "and ..." echo " * complete this registration form" echo " * click on \"Download Now\"" echo " * read and decide if you want to accept the VMware master end user license agreement" echo echo "If you have done this and accepted the enduser licence type in yes in uppercase." echo "This will install vmplayer on your vendor-os. If you don't agree this license" echo "vmplayer won't be installed." echo read echo ### EULA information passed, install depending player now if [ "${REPLY}" == "YES" ]; then echo " * Downloading vmplayer as ${vmplversion} now. This may take a while" cd /opt/openslx/plugin-repo/vmware/${vmplversion} wget -c ${url} echo " * Unpacking vmplayer ${vmplversion}" tar xfz ${tgzfile} # reduce some errors echo " * deleting old files if available" rm -rf vmroot echo " * copying files..." mkdir vmroot mkdir -p vmroot/modules mkdir -p vmroot/lib mv vmware-player-distrib/lib vmroot/lib/vmware mv vmware-player-distrib/bin vmroot/ if [ "${vmplversion}" != "vmpl1.0" ]; then mv vmware-player-distrib/sbin vmroot/ fi mv vmware-player-distrib/doc vmroot/ rm -rf vmware-player-distrib/ echo " * fixing file permission" chmod 04755 vmroot/lib/vmware/bin/vmware-vmx # I don't want to understand what vmware is doing, but without this # step we need to have LD_LIBRARY_PATH with 53 entrys. welcome to # library hell echo " * fixing librarys..." cd vmroot/lib/vmware/lib mkdir test mv lib* test mv test/lib*/* . cd ../../../.. echo " * fixing gdk and pango config files" sed -i \ "s,/build/mts/.*/vmui/../libdir/libconf,/opt/openslx/plugin-repo/vmware/${vmplversion}/vmroot/lib/vmware/libconf," \ vmroot/lib/vmware/libconf/etc/gtk-2.0/gdk-pixbuf.loaders sed -i \ "s,/build/mts/.*/vmui/../libdir/libconf,/opt/openslx/plugin-repo/vmware/${vmplversion}/vmroot/lib/vmware/libconf," \ vmroot/lib/vmware/libconf/etc/gtk-2.0/gtk.immodules sed -i \ "s,/build/mts/.*/vmui/../libdir/libconf,/opt/openslx/plugin-repo/vmware/${vmplversion}/vmroot/lib/vmware/libconf," \ vmroot/lib/vmware/libconf/etc/pango/pango.modules sed -i \ "s,/build/mts/.*/vmui/../libdir/libconf,/opt/openslx/plugin-repo/vmware/${vmplversion}/vmroot/lib/vmware/libconf," \ vmroot/lib/vmware/libconf/etc/pango/pangorc sed -i \ "s,/etc/pango/pango/,/etc/pango/," \ vmroot/lib/vmware/libconf/etc/pango/pangorc echo " * creating /etc/vmware" mkdir -p /etc/vmware echo " * unpacking kernel modules" cd vmroot/lib/vmware/modules/source tar xf vmnet.tar tar xf vmmon.tar if [ "${vmplversion}" != "vmpl1.0" ]; then tar xf vmblock.tar fi echo " * building vmblock module" # TODO: check if /boot/vmlinuz is available if we get the kernel version this way # perhaps we don't need a check... perhaps openslx always use # /boot/vmlinuz # This problem happens 3 times. see below! # TODO: error check if build environment isn't installed... #TODO: vmblock only v2 if [ "${vmplversion}" != "vmpl1.0" ]; then cd vmblock-only/ sed -i "s%^VM_UNAME = .*%VM_UNAME = $(ls /boot/vmlinuz*|grep -v -e "^/boot/vmlinuz$$"|sed 's,/boot/vmlinuz-,,'|sort|tail -n 1)%" Makefile make -s cp vmblock.ko vmblock.o ../../../../../modules cd .. fi echo " * building vmmon module" cd vmmon-only sed -i "s%^VM_UNAME = .*%VM_UNAME = $(ls /boot/vmlinuz*|grep -v -e "^/boot/vmlinuz$$"|sed 's,/boot/vmlinuz-,,'|sort|tail -n 1)%" Makefile make -s cp vmmon.ko vmmon.o ../../../../../modules cd .. echo " * building vmnet module" cd vmnet-only sed -i "s%^VM_UNAME = .*%VM_UNAME = $(ls /boot/vmlinuz*|grep -v -e "^/boot/vmlinuz$$"|sed 's,/boot/vmlinuz-,,'|sort|tail -n 1)%" Makefile make -s cp vmnet.ko vmnet.o ../../../../../modules cd ../../../../../.. echo " * setting up EULA" mv vmroot/doc/EULA vmroot/lib/vmware/share/EULA.txt echo " * finishing installation" else echo "You didnt't accept the end user license. vmplayer is not installed." fi