summaryrefslogblamecommitdiffstats
path: root/os-plugins/plugins/vmware/files/install-vmpl.sh
blob: c45dbd68f891b50476817f130edaf52bd0f427f0 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

         













                                                                                            
                              
                         

                                                                                      




                                                                                               
  
 




                                        













                                                                                              

                                                         





                                                                                 
                                                 
                      






                                               
                           


                                                  


                                              


                                        

                                                 
 









                                                                       

                                                 
                                                                                                                          

                                                              
                                                                                                                          

                                                         
                                                                                                                          

                                                       
                                                                                                                          

                                                 
                                          








                                                 


                                              

                                       




                                                                                     







                                                                                                                                               




                                                                                                                                             
                                              





                                                                                                                                             
                                              




                                                       




                                                                              
#!/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