#!/bin/sh cd /opt/openslx/plugin-repo/vmware/ ### Check if player are still installed if [ -d ${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" tgzfile=$(ls packages/VMware-player-1.0.*|sort|tail -n 1) elif [ "$1" = "vmpl2.0" ]; then vmplversion="vmpl2.0" tgzfile=$(ls packages/VMware-player-2.0.*|sort|tail -n 1) else echo "Attribute of install-vmpl.sh isn't valid!" echo "This shouldn't happen! Fix vmware.pm!" exit 1; fi ### Main installation part cd ${vmplversion} echo " * Unpacking vmplayer ${vmplversion}" tar xfz ../${tgzfile} # TODO: errorcheck if tgz wasnt downloaded properly. # ask on mailinglist if theres a way how to handle it # in preInstallation() "exit 1" is enough. Perhaps it will work # here, too. Try first, and then document it in the wiki # 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/ rm -rf vmroot/lib/vmware/modules/binary 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*/* . rm -rf test 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" if [ "${vmplversion}" != "vmpl1.0" ]; then cd vmblock-only/ sed -i "s%^VM_UNAME = .*%VM_UNAME = $(find /lib/modules/2.6* -maxdepth 0|sed 's,/lib/modules/,,g'|sort|tail -n1)%" Makefile make -s mv vmblock.ko vmblock.o ../../../../../modules cd .. fi echo " * building vmmon module" cd vmmon-only sed -i "s%^VM_UNAME = .*%VM_UNAME = $(find /lib/modules/2.6* -maxdepth 0|sed 's,/lib/modules/,,g'|sort|tail -n1)%" Makefile make -s mv vmmon.ko vmmon.o ../../../../../modules cd .. echo " * building vmnet module" cd vmnet-only sed -i "s%^VM_UNAME = .*%VM_UNAME = $(find /lib/modules/2.6* -maxdepth 0|sed 's,/lib/modules/,,g'|sort|tail -n1)%" Makefile make -s mv vmnet.ko vmnet.o ../../../../../modules cd ../../../../../.. echo " * setting up EULA" mv vmroot/doc/EULA vmroot/lib/vmware/share/EULA.txt echo " * finishing installation"